{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BSBLFAIL867)}} ====== BSBLFAIL867 ====== (George Source) **Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BACKWRITE|BACKWRITE]], [[george:macro:CHAIN|CHAIN]], [[george:macro:COOR2|COOR2]], [[george:macro:COOR3|COOR3]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHACTPR|FSHACTPR]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHKILL|FSHKILL]], [[george:macro:GETBACK|GETBACK]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JBC|JBC]], [[george:macro:LISTFAIL|LISTFAIL]], [[george:macro:LOCK|LOCK]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OFFQUE|OFFQUE]], [[george:macro:OPTRAN|OPTRAN]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TIDYFAIL|TIDYFAIL]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UNSETFB|UNSETFB]], [[george:macro:UP|UP]] 22FL ... SEG BSBLFAIL,866 22^= ...# 23DW ... SEGENTRY K1BSBLFAIL,QK1BL 23YG ...# 24D6 ...# THIS SEGMENT DEALS WITH BLANKET FAILS. PROCONTX CHAINS A 24XQ ...# BSTB/BWRITE ON THE ACTIVITY CHAIN WITH BACK1 AND BACK2 25CB ...# CONTAINING THE BS HOME 25X2 ...# 26BL ...QK1BL MHUNTW 1,BSTB,BWRITE 74K6 RW1 LDX 7 BACK1(1) 754Q BNG 7 SPA1 [BLANKET PSEUDO FAIL 75JB STO 7 AWORK1(2) [BACKING STORE HOME 7642 LDX 0 BACK2(1) [ 76HL STO 0 AWORK2(2) [ 76L2 ...RW4 76NB ... FSHCODE B,SHFSP2 76QQ ...( 76T6 ... FSHACTPR [SET UP PAIRED BTFAIL IN MACHINE A 76XG ...SHFSP2 76^W ...) 774= ... GETBACK 776L ... FSHCODE B,SHFSK2 7792 ...( 77?B ... FSHKILL [KILL PAIRED BTFAIL IN MACHINE A 77*Q ...SHFSK2 77D6 ...) 77GW STO 7 AWORK3(2) 782G HUNTW 3,BSTB,BWRITE 78G6 LOCK 3 [LOCK BSTB/BWRITE 78^Q LDN 1 A1(3) 79FB BACKWRITE BSET+FLAW,ALOGLEN(3),RW3,AWORK1(2),AWORK3(2),1 [WRITE AW 7=68 ... LDX 0 AWORK1(2) 7=?B ... STO 0 ACOMMUNE1(2) 7=DJ ... CALL 0 XBSA 7=KQ ... CALL 0 SETFLRS 7=N* ... UNLOCK 3 7=QY ... TIDYFAIL ACOMMUNE1(2),AWORK2(2),AWORK3(2),1 [CHANGE OLD TO NEW 7=Y= #SKI K6TRANFAIL>99-99 7?CW TRACE AWORK3(2),BLFAIL 7?XG LDX 6 AWORK1(2) [PUT OLD BLOCK NO IN PFL 7#C6 LDX 7 AWORK2(2) 7#WQ XJA MHUNT 3,BSTB,BFRAIL 7*BB LDX 0 A1(3) [SET A1 -VE TO INDICATE BLOCK BEING A 7*W2 BPZ 0 XJB [SOMEONE ELSE 7B*L COOR2 [WAIT TILL THEY HAVE FINISHED 7BT= BRN XJA 7C#W XJB LDN 1 A1-1(3) [CHECK IF ENOUGH ROOM FOR NEW ENTRY 7CSG NGN 0 1 [-1 TERMINATES LIST 7D#6 XJD ADN 1 2 [STEP ON POINTER 7DRQ TXU 0 0(1) 7F?B BCS XJD [J NOT -1 7FR2 SBN 1 A1-3(3) 7G=L TXL 1 ALOGLEN(3) 7GQ= BCS XJG [J FI ENOUGH ROOM 7H9W LDX 4 ALOGLEN(3) 7HPG ADN 4 AFRAILEX [PLUS EXTENTION 7J96 LDCT 0 #400 [LOCK OUT MARK 7JNQ ORS 0 A1(3) 7K8B ALTLEN 3,4 [EXTEND BSTB/BFRAIL 7KN2 MHUNT 3,BSTB,BFRAIL 7L7L LDCT 0 #400 [REMOVE LOCKOUT BIT 7LM= ERS 0 A1(3) 7M6W NGN 0 1 7MLG XJG ADN 3 2 [SEARCH FOR END 7N66 TXU 0 A1-1(3) 7NKQ BCS XJG [J NOT END 7P5B LDX 0 AWORK2(2) 7PK2 STO 0 A1-1(3) [BLOCK NO. 7Q4L LDX 0 AWORK1(2) 7QJ= SLL 0 18 7R3W STO 0 A1(3) [LFN 7RHG NGN 0 1 7S36 STO 0 A1+1(3) [MARKER FOR END (-1) 7SGQ MHUNT 3,BSTB,BWRITE 7T2B FREECORE 3 [FREE BSTB/BWRITE 7TG2 LDN 0 1 7T^L SBS 0 BACK1(2) [REDUCE COUNT OF BLANKET FAILS 7W9D ...XJEND HUNTW 1,BSTB,BWRITE [ANY MORE BLANKET FAILS TO DO 7WF= ... BPZ 1 RW1 [YES 7WP4 ... UP 7WYW # 7XDG # FAILS AGAIN WHILE WRITING BLANKET TO NEW BLOCK 7XY6 # 7YCQ RW3 UNLOCK 3 [UNLOCK BSTB,BWRITE 7YXB #SKI K6TRANFAIL>99-99 7^C2 ...# * TRACE AWORK3(2),NEWBLFL 7^WL LDX 7 AWORK1(2) 82B= LISTFAIL 7,AWORK3(2) [CLEAR FAIL 82TW BRN RW4 [TRY AGAIN 83*G # ##J6 ...SPA1 ERX 7 GSIGN [ CLEAR BIT 0 #B32 STO 7 BACK1(1) #C2= LDX 0 BACK2(1) [PARAMETERS #CFW STO 0 AWORK2(2) [FOR #C^G STO 0 AWORK3(2) [BACKWRITE #DF6 LDX 3 1 [PRESERVE POINTE TO BWRITE BLOCK #GX= STO 7 ACOMMUNE1(2) [LFN #HBW CALL 0 XBSA [ADDRESS OF BSA INTO AWORK1(2) #HWG ...XWT LDX 1 AWORK1(2) #JB6 ... LDX 0 BSFAIL(1) [ARE FAILS OR CARTRIDGE COMMAND IN #JTQ ... ANDN 0 BKARTWT+CGINPROG [PROGRESS #K*B ... BZE 0 XLCK [ J IF DEVICE NOW OK #KT2 ... COOR3 #41 [ WAIT #L#L ... BRN XWT [ GO TO GHECK AGAIN #LS= ...XLCK #M44 ... MHUNTW 3,BSTB,BWRITE #M?W ... LOCK 3 #MRG ... LDN 1 A1(3) #N?6 ... BACKWRITE BSET+FLAW,ALOGLEN(3),RW3,EX7,AWORK3(2),1 #NQQ ... CALL 0 SETFLRS #P=B ... UNLOCK 3 *7CG SPA2 LDX 0 BACK1(3) [PREPARE *7X6 STO 0 ACOMMUNE1(2) [ PARAMETERS *8BQ LDX 0 BACK2(3) [ FOR *8WB STO 0 ACOMMUNE2(2) [ XWAIT *9B2 FREECORE 3 *9TL CALL 0 XWAIT *=83 ... LDX 1 AWORK1(2) *=GD ... UNSETFB 1,1 [UNSET OFFLINE FAIL BIT *=SW LDN 0 1 *?#G SBS 0 BACK1(2) [REDUCE COUNT OF BLANKET FAILS *?S6 LDX 1 AWORK1(2) *#?Q LDX 1 FPTR(1) [ADDRESS OF BFAIL *#RB SBS 0 A1(1) [REDUCE COUNT OF FAILS IN BFAIL **3# ... BRN XJEND **?? ...# **?J ...# SUBROUTINE TO CREATE FLOUR BLOCKS FOR APPROPRIATE Q BLOCKS **?T ...# ON THE BSA'S WAIT QUEUE **#6 ...SETFLRS **#C ... SBX 0 FX1 **#N ... STO 0 ACOMMUNE2(2) **#^ ... SMO AWORK1(2) ***= ... LDN 1 BSQWCHAN [BS WAIT Q ***H ... TXU 1 0(1) [TEST FOR END ***S ... BCC SFLR [J IF END **B5 ... LDX 1 0(1) **BB ...SPA6 SBN 1 CHAINADD [ADDRESS OF QBLOCK **BM ... LDX 0 ATYPE(1) [TYPE **BY ... TXL 0 CACT **C9 ... BCS SPA4 [J IF BQBLK **CG ... LDX 7 BA1(1) [PARAMS **CR ... LDX 6 BA2(1) [ FROM **D4 ... LDX 5 BA3(1) [ ACTIVITY **D* ... LDX 4 ACOMMUNE7(1) [ QBLOCK **DL ... BRN SPA5 **DX ...SPA4 LDX 7 ATRAN(1) [PARAMS **F8 ... LDX 6 ALENLFN(1) [ FROM **FF ... LDX 5 BLKNO(1) [ BSTB **FQ ... LDX 4 BSMODE(1) [ BQBLK **G3 ...SPA5 LDX 0 6 **G# ... ANDN 0 #377 [LFN IN QBLOCK **GK ... TXU 0 BACK1(3) [SAME AS BWRITE? **GW ... TXU 5 BACK2(3) [SAME HOME ADDRESS? **H7 ... BCS SPA3 [J IF NOT **HD ... BNZ 4 SPA3 [J NOT READ **HP ... ANDN 7 BOBJ+BSET **J2 ... BNZ 7 SPA3 **J? ... SRL 6 8 [LENGTH **JJ ... LDX 5 1 [PRESERVE PTR TO QBLOCK **JL ... LDX 7 1 **JN ... JBC SPA7,7,AFLOCK [J IF BLOCK NOT LOCKED **JQ ... STOZ 7 [INDICATOR NOT TO UNLOCK BLOCK **JS ... BRN SPA8 **JW ...SPA7 LOCK 5 **JY ...SPA8 SETUPCORE 6,4,BSTB,FLOUR [SET UP READ BUFFER **K2 ... BZE 7 SPA9 **K4 ... UNLOCK 5 **K6 ...SPA9 CHAIN 4,5 [CHAIN AFTER QBLOCK **KC ... LDX 1 5 [RESTORE PTR **KN ... SMO 4 **K^ ... LDN 6 BACK1 **L= ... LDN 5 BACK1(3) **LH ... MOVE 5 2 [BS HOME IN READ BUFFER BLOCK **LS ...SPA3 SMO AWORK1(2) **M5 ... LDN 0 BSQWCHAN [BS WAIT Q **MB ... LDX 1 CHAINADD(1) [NEXT QBLOCK **MM ... TXU 0 1 [TEST FOR END **MY ... BCS SPA6 **N9 ...SFLR LDX 0 ACOMMUNE2(2) **NG ... ADX 0 FX1 **NR ... EXIT 0 0 **NY ...# **P5 ...# **P= ...STYPE **PC ...#HAL +BSTB+BQBLK,0 **PJ ...# **PP ...# **PW ...# **Q3 ...# SR TO REQUE BLOCKS FROM BSWQ TO BSA Q. **Q8 ...# AWORK1 CONTAINS ADDRESS OF BSA **Q* ...# ACOMMUNE1 CONTAINS LFN OR BSUN **QG ...# ACOMMUNE2 CONTAINS ZERO IF BSUN IN 1 OR BLOCK NUMBER **QM ...# LINK X0 STORED IN ACOMMUNE6 **QS ...XWAIT **Q^ ... STO 0 ACOMMUNE6(2) **R6 ... LDX 1 AWORK1(2) **R? ... LDN 7 0 **RD ... LDX 0 ACOMMUNE2(2) **RK ... BNZ 0 SCA [JUMP IF OFFLINE **RQ ... LDN 7 2 **RX ...SCA LDN 6 BSQWCHAN(1) [BASE OF WAIT Q **S4 ... LDX 3 6 **S9 ...SH LDX 3 FPTR(3) [ADDRESS OF Q BLOCK **SB ...SHA LDX 2 FX2 **SH ... TXU 3 6 **SN ... BCC SD [JUMP IF END OF Q **ST ... SBN 3 CHAINADD **T2 ... LDN 4 BA1(3) [RESCUE PARAMETERS BA AREA IF ACTIVIT **T7 ... LDX 1 EXEC3(3) [DATUMISED BLOCK NUMBER **T# ... LDX 0 ATYPE(3) **TF ... SMO FX1 **TL ... TXU 0 STYPE **TR ... BCS SR1 **TY ... LDX 1 ADBLKNO(3) **W5 ... LDN 4 ATRAN(3) **W= ...SR1 LDN 5 AWORK2(2) **WC ... MOVE 4 3 **WJ ... LDX 0 AWORK2(2) **WP ... ANDN 0 2 **WW ... ERX 0 7 **X3 ... BNZ 0 SG [JUMP IF WRONG TYPE OF TRANSFER **X8 ... BNZ 7 SY [JUMP IF ONLINE **X* ... LDX 0 AWORK3(2) **XG ... ANDN 0 #377 **XM ... TXU 0 ACOMMUNE1(2) **XS ... BCS SG [JUMP IF WRONG LFN **X^ ... LDX 0 AWORK4(2) **Y6 ... ANDX 0 BSTSMASK **Y? ... TXU 0 ACOMMUNE2(2) **YD ... BCS SG **YK ...SY LDX 4 CHAINADD(3) **YQ ...#SKI K6TRANFAIL>199-199 **YX ...( **^4 ... TRACE 3,REQUE **^9 ... TRACE 6, **^B ...) **^H ... ADN 3 CHAINADD **^N ... OFFQUE 3 **^T ... SBN 3 CHAINADD *B22 ... OPTRAN 3,1,AWORK1(2) *B27 ... LDX 3 4 *B2# ... BRN SHA *B2F ...SG ADN 3 CHAINADD [ADJUST POINTER *B2L ... BRN SH *B2R ...SD LDX 1 FX1 *B2Y ... LDX 2 FX2 *B35 ... LDX 0 ACOMMUNE6(2) *B3= ... EXIT 0 0 *B3C ...# SR TO CONVERT LFN IN ACOMMUNE1 TO ADDRESS OF APPROPRIATE BSA *B3J ...# ADDRESS OF BSA LEFT IN AWORK1 X1,X2 RESET TO FX1,FX2 *B3P ...# LINK X0 *B3W ...# *B43 ...# *B48 ...XBSA *B4* ... LDX 1 ACOMMUNE1(2) *B4G ... SLL 1 1 *B4M ... ADX 1 ALFTP *B4S ... LDX 1 A1(1) *B4^ ... SRL 1 12 *B56 ...XBSB MPY 1 ASBSAB *B5? ... NGX 2 2 *B5D ... ADX 2 BBAC *B5K ... ADX 2 ASBSAB *B5Q ... SMO FX2 *B5X ... STO 2 AWORK1 *B64 ... LDX 2 FX2 *B69 ... LDX 1 FX1 *B6B ... EXIT 0 0 *B7Y ...# *BPW #END ^^^^ ...235502570001