{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: FAILURE)}}
====== FAILURE ======
(GIN Macro)
**Defined in:** [[george:source:MACROS_RMD10|MACROS RMD10]]
**Used in:** [[george:source:LOADERI867|LOADERI867]], [[george:source:MESSAG|MESSAG]], [[george:source:MESSB|MESSB]], [[george:source:MESSBA|MESSBA]], [[george:source:MESSBG|MESSBG]], [[george:source:MESSBH|MESSBH]], [[george:source:MESSDB|MESSDB]], [[george:source:MESSDC|MESSDC]], [[george:source:PMFSB84|PMFSB84]], [[george:source:RESTERR864|RESTERR864]], [[george:source:RITEFAIL864|RITEFAIL864]]
39NL ...[??? FAILURE SECT FILE FGN 16 DOC
3=G6 ...# MACRO TO CHANGE BLOCK NOS IN FILESTORE BLOCKS, ACTS, AND Q-BLOCKS
3=WW ...#MAC FAILURE
3??L ...[ THIS MACRO SEARCHES THE ACTIVITY CHAIN WITH DETOURS VIA THE
3?NB ...[ WORKFILE RINGS & THEN THE FILE CHAIN LOOKING FOR BLOCKS WHICH NEED TO
3#56 ...[ BE UPDATED BY THE WRITE FAILURE SWAP MECHANISM
3#FW ...[IT DOES NOT CO-ORDINATE (OR IT WOULD LOSE ITS PLACE).
3#WL ...[ ON ENTRY X1=NEW DATUMISED BLOCK NUMBER
3*?B ...[ X5=RESIDENCE NUMBER
3*N6 ...[ X6=OLD BLOCK NUMBER
3B4W ...[ X7=NEW (REPLACEMENT) BLOCK NUMBER
3BFL ...[
3BWB ... STO 1 GEN0
3C?6 ... STOZ GEN1
3CMW ... LDN 0 BTHREE [MASTER'S DIRECTORY
3D4L ... LDN 1 ADMASTDIR [ENTRY
3DFB ... TXU 5 0
3DW6 ... BXU 6 1,M0FAIL [J UNLESS :MASTER'S DIR ENT
3F7N ... GEOERR 1,MASSADED [WRITE FAIL ON :MASTER'S DIRECTORY
3FF= ... [ ENTRY CAN'T BE SWAPPED - FIXED
3FQS ... [ POSITION
3G4B ...M0FAIL
3GF6 ... ORN 6 3 [SET BLT BITS
3GTW ... ORN 7 3
3H=L ... LDX 1 BACT [BASE OF ACTIVITY CHAIN
3HMB ...[
3J46 ...M1FAIL [CHECK BLOCK TYPE
3JDW ...[
3JTL ... LDX 0 ATYPE(1)
3K=B ... SRL 0 12
3KM6 ... SBN 0 #6000 [MINIMUM ACTIVITY BLOCK TYPE
3L3W ... BPZ 0 M5FAIL [J IF ACTIVITY BLOCK
3LDL ... LDN 2 M92FAIL-M91FAIL [NUMBER OF BLOCK TYPES IN TABLE
3LTB ...M2FAIL
3M=6 ... SMO FX1
3MLW ... BXE 0 M91FAIL-1(2),M3FAIL [J IF BLOCK TYPES MATCH
3N3L ... BCT 2 M2FAIL [TRY NEXT TYPE IN TABLE
3NDB ... BRN M4FAIL [TRY NEXT BLOCK IN CHAIN
3NT6 ...[
3P9W ...M3FAIL
3PLL ... LDN 3 ALENLFN [QBLK RELATIVISER
3Q3B ... LDN 4 ADBLKNO [ DITTO
3QD6 ... SBN 2 4
3QSW ... BZE 2 M7FAIL [J IF QBLK (4TH IN TABLE)
3R9L ... BNG 2 M8FAIL [J IF FCB OR FULLB OR FTABLE
3RLB ...[
3S36 ...[ MUST BE BACK1/2 TYPE
3SCW ...[
3SSL ... LDN 0 3
3T56 ... ORX 0 BACK2(1) [PLUS BLOCKLET BITS (MAY BE SET
3T*L ... [ ALREADY)
3TL6 ... TXU 5 BACK1(1)
3W2W ... BXU 6 0,M4FAIL [J UNLESS RESIDENCE & BLOCKS MATCH
3WCL ... ERX 0 7
3WSB ... ERS 0 BACK2(1) [SET NEW BL.NO.
3X96 ...[
3XKW ...M4FAIL [GET NEXT BLOCK & CHECK FOR END OF CHAIN
3Y2L ...[
3YCB ... LDX 1 FPTR(1)
3YS6 ... BXE 1 BACT,M40FAIL [J IF END OF ACTIVITY CHAIN
3^8W ... BXE 1 BFILE,M94FAIL [J TO EXIT IF END OF FILE CHAIN
3^KL ... BXU 1 GEN1,M1FAIL [J UNLESS END OF WORKFILE RING
422B ... SBN 1 BWORKRING [RECOVER CPAT ADDRESS
42C6 ... BRN M51FAIL
42RW ...[
438L ...M40FAIL
43KB ... LDX 1 BFILE [START ON FILE CHAIN
4426 ... BRN M1FAIL
44BW ...[
44RL ...M5FAIL [ACT. BLOCK SECTION
458B ... SMO FX1
45K6 ... BXU 0 M93FAIL,M51FAIL [J UNLESS CPAT
45^W ... ADN 1 BWORKRING [->WORKFILE RING
46BL ... STO 1 GEN1 [SAVE IT
46RB ... BRN M4FAIL
4786 ...[
47JW ...M51FAIL
47^L ... BBUS 14,BA1(1),M4FAIL [J UNLESS TRANSFER IN PROGRESS
48BB ... LDN 3 BA2 [RELATIVISER FOR ACTIVITY TO BA WORDS
48R6 ... LDN 4 ACOMMUNE9 [ DITTO
497W ...M7FAIL [ACTIVITY OR QBLK
49JL ... LDN 0 #377
49^B ... ADX 3 1
4=B6 ... ANDX 0 0(3)
4=QW ... LDN 2 3
4?7L ... ORX 2 1(3) [BL. NO.
4?JB ... TXU 5 0
4?^6 ... BXU 6 2,M4FAIL [J UNLESS BLOCKS MATCH
4#*W ... ERX 2 7
4#QL ... ERS 2 1(3) [SET NEW NO.
4#^2 ... LDN 0 3 [UPDATE DATUMISED BLK NO
4*7B ... SMO 4
4**Q ... ANDS 0 0(1) [REMOVE OLD BLK NO LEAVING BLT BITS
4*J6 ... ORX 0 GEN0 [PICK UP NEW BLK NO AND
4*QG ... ERN 0 3 [REMOVE BLT BITS
4*YW ... SMO 4
4B7= ... ORS 0 0(1) [SET NEW BLK NO
4B*L ... BRN M4FAIL
4BQB ...[
4C76 ...M8FAIL [FCB/FTABLE/FULLB
4CHW ...[
4CYL ... ADN 2 2 [NOW ZERO IF FTABLE & NEGATIVE IF FCB
4D*B ... LDX 0 2
4DQ6 ... BNG 2 M42FAIL [J IF FCB
4F6W ... LDN 3 A1+1(1) [ADDRESS OF LFN IN FULLB
4FHL ... LDX 2 A1(1)
4FYB ... SBN 2 2 [NO. OF BLOCK NOS.
4G*6 ... BRN M43FAIL
4GPW ...[
4H6L ...M42FAIL
4HHB ... LDX 2 FUSEBL(1)
4HY6 ... SBN 2 FBLKS-A1 [NUMBER OF BLOCKS IN FCB
4J#W ... LDN 3 BSPRE(1) [RELATIVISER TO BLOCK LIST
4JPL ...M43FAIL
4K6B ... BZE 2 M4FAIL [J IF NO BLOCKS
4KH6 ... LDX 4 0(3) [RESIDENCE NUMBER (SOMETIMES HAS
4KXW ... ANDN 4 #377 [ OTHER BITS SET)
4L#L ... BXU 5 4,M4FAIL [J IF WRONG RESIDENCE
4LS= ... ERN 6 3 [CLEAR BLOCKLET BITS IN OLD BLOCK
4M?W ... [ NUMBER
4W?L ...M9FAIL
4WNB ... SMO 2
4X56 ... BXE 6 0(3),M90FAIL [J IF BLOCK NUMBER FOUND
4XFW ... BCT 2 M9FAIL [TRY NEXT BLOCK NUMBER
4XWL ... BRN M44FAIL [TRY NEXT BLOCK IN CHAIN
4Y?B ...[
4YN6 ...M90FAIL
4YYL ... ERN 7 3 [CLEAR BLOCKLET BITS IN NEW BLOCK
4^96 ... [ NUMBER
4^FL ... SMO 2
4^WB ... STO 7 0(3) [NEW BLOCK NO.
52?6 ... BPZ 0 M44FAIL [J UNLESS FCB
52MW ... JBC M9005FAIL,1,BFREV [J UNLESS REVERED (SJFILE)
534L ... BS BSJACT,BJFILSWITCH [FORCE CLOSE TO UPDATE BLOCKS RECORD
53FB ... LDX 3 1 [SAVE SEARCH POSITION
53W6 ... STARTACT SJ [WAKE JOURNAL ACTIVITY (FAILS IF
54=W ... LDX 1 3 [RECOVER SEARCH POSITION TEMPACT)
54ML ...M9005FAIL
554B ... MBS 1,BFALTB,BFALTR [SET REEL & BLOCKS ALTERED BITS
55F6 ... JBC M44FAIL,1,BFCARE [J UNLESS CAREFUL FILE
55TW ... LDX 0 FFSFMAPP
56=L ... LDX 2 1
56MB ...M4305FAIL
5746 ... LDX 2 FPTR(2) [X2->NEXT BLOCK IN FILA CHAIN
57DW ... BXU 0 ATYPE(2),M4305FAIL [J UNLESS FMAPP BLOCK
57TL ... LDN 0 1 [UPDATE FBCOMM TO INDICATE ALTERED
5842 ... [ BLOCK
58=B ... ANDX 0 FBCOMM(2)
58M6 ... ADN 0 1
593W ... ORS 0 FBCOMM(2)
59DL ...M44FAIL
59TB ... ORN 7 3 [REPLACE BLOCKLET BITS
5==6 ... ORN 6 3 [ DITTO
5=LW ... BRN M4FAIL
5?3L ...[
5?DB ...M91FAIL [*** THESE
5?T6 ... +FILE+FCB-#6000 [*** FOUR
5#9W ... +FI+FTABLE-#6000 [*** BLOCKS
5#LL ... +BSTB+FULLB-#6000 [*** MUST
5*3B ... +BSTB+BQBLK-#6000 [*** REMAIN IN THE SAME ORDER
5*D6 ... +FILE+FURB-#6000
5*SW ... +FILE+FUWB-#6000
5B9L ... +FILE+FURWB-#6000
5BLB ... +FILE+FURRB-#6000
5C36 ... +BSTB+BREAD-#6000
5CCW ... +BSTB+FLOUR-#6000
5CSL ...M92FAIL
5DL6 ...[
5F2W ...M93FAIL +CPAT-#6000
5FCL ...[
5FSB ...M94FAIL
5G96 ...#NOR