{{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