{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MACROS RMD10)}}
====== MACROS RMD10 ======
(George Source)
22FL0>>>
22^=
23DW [ GEORGE PORTER
23YG [ THIS S/F CONTAINS THE FOLLOWING MACROS
24D6 [
24MY ...[ FNYLIST
24XQ [ MAGREAD
25CB [ MAGSTEP
25X2 [ FTM
266S ...[ MTCHECK
26BL [ FAILURE
26W= [ FREEHALF
27*W [ FREEHALL
27TG [ FREHFURB
28*6 [ FRSOFURB
28SQ [ FRSOFUWB
29#B [ FREEFURB
29S2 [ FREEFUWB
2=?L [ FREEFILE
2=R= [ CLUDGEQUERY
2?=W [ NEWDIR
2?QG [ ASSILO
2#=6 [ UNCOMERR
2#PQ [ CONFURWB
2*9B [ BLAM
2*P2 [ FINDACTX
2B8L [ OPENBUDO
2BN= [ ERASTREM
2C7W [ ERASEMULT
2CMG [ COMPQU
2D76 [ CLOSESTREAM
2DLQ [ CLOSEMULT
2F6B [ FSCON
2FL2 [ EXTEND
2G5L [ READED
2GK= [ WRITED
2H4W [ TRANSFORM
2HJG [ TRANSFO1
2J46 [ INFINB
2K3B
2KH2
2KHB ...[??? FNYLIST SECT FILE
2KHQ ...#MAC FNYLIST
2KJ6 ...[FILE NEARLY FULL CONDITION BASED ON
2KJG ...[%A - LINE LENGTH
2KJW ...[%B - NO OF LINES PER PAGE
2KK= ...[RESTORE TIME MACRO
2KKL ...#MEND APPEND
2KL2 ...#TRA FNYBLCK
2KLB ... +((%A+2)*%B/2048)+1
2KLQ ...#END
2KM6 ...#MEN APPEND
2KMG ...#TRA K98APPEND
2KMW ... NULL
2KN= ...#END
2KNL ...#NOR
2KP2 ...
2KPB ...
2KPQ ...
2KQ6 ...
2KQS ...[??? MAGREAD SECT FILE FGN 16 DOC
2L2L # READ NEXT RECORD FROM TOP FILE ( MT FILE)
2LG= #MAC MAGREAD
2L^W LDX 2 FX2
2MFG ACCSTO %D,ACOMMUNE9(2)
2M^6 DOWN MATALO,2
2NDQ BRN %A [END OF FILE
2NYB BRN %B [TAPE MARK
2PD2 BRN %C [LONG BLOCK
2PXL #NOR
2Q7D ...[??? MAGSTEP SECT FILE FGN 16 DOC
2QC=
2QWW # READ NEXT MT BLOCK FROM TOP FILE INTO OBJECT PROGRAM AREA
2RBG #MAC MAGSTEP
2RW6 LDX 2 FX2
2S*Q ACCSTO %D,ACOMMUNE9(2)
2STB ACCSTO %E,ACOMMUNE8(2)
2T*2 DOWN MATALO,1
2TSL BRN %A [END OF FILE
2W#= BRN %B [TAPE MARK
2WRW BRN %C [LONG BLOCK
2X?G #NOR
2XH# ...[??? FTM SECT FILE FGN 16 DOC
2XR6
2Y=Q #MAC FTM
2YQB DOWN MATALO,3
2^=2 BRN %A [END OF FILE
2^PL #NOR
326B ...[??? MTCHECK SECT FILE FGN 17 DOC
32H6 ...[ %A=BLOCK TYPE; %B=BLOCK SUBTYPE; %C=BULK FILE ADDRESS
32XW ...[ %D(OPTIONAL)=SIZE OF BULK FILE IN BLOCKS
33#L ...#MAC MTCHECK
33PB ... LDX 2 FX2
3466 ... ACCSTO %C,ACOMMUNE2(2)
34GW ...#STR %D
34XL ... ACCSTO %D,ACOMMUNE3(2)
35#B ... SMO FX1
35P6 ... LDX 0 M1MTCHECK
365W ... STO 0 ACOMMUNE1(2)
36GL ...#STR %D
36XB ...#SKI
37#6 ... DOWN MTCHECK,11
37NW ...#STR %D
385L ... DOWN MTCHECK,1
38GB ...M1MTCHECK
38X6 ...#HAL %A+%B,0
39?W ...#NOR
39NL ...[??? FAILURE SECT FILE FGN 16 DOC
3=5B ...
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
5GKW ...[
5H2L ...[
5HCB ...[
5HS6 ...[??? FREEHALF SECT FILE FGN 16 DOC
5J==
5JPW
5K9G [ THESE MACROS ARE USED BY THE CORE UNJAMMER TO FREE FILESTORE BLOCK
5KP6
5L8Q #MAC FREEHALF
5LNB [FREES HALF THE BLOCKS IN THE HALFOPEN CHAIN
5M82 CALL 7 M1FREEFILE
5MML #NOR
5MXD ...[??? FREEHALL SECT FILE FGN 16 DOC
5N7=
5NLW #MAC FREEHALL
5P6G [FREES ALL THE BLOCKS IN THE HALFOPEN CHAIN
5PL6 CALL 7 M2FREEFILE
5Q5Q #NOR
5Q*J ...[??? FREHFURB SECT FILE FGN 16 DOC
5QKB #
5R52 # FREES HALF THE FURBS/FURRBS ALTERNATELY
5RJL #MAC FREHFURB
5S4= LDCT 0 #100
5SHW CALL 7 M12FREEFILE
5T3G #NOR
5T?# ...[??? FRSOFURB SECT FILE FGN 16 DOC
5TH6 #
5W2Q # FREES FURBS/FURRBS BELONGING TO SWAPPED OUT PROGRAMS
5WGB #MAC FRSOFURB
5X22 LDCT 0 #200
5XFL CALL 7 M12FREEFILE
5X^= #NOR
5Y94 ...[??? FRSOFUWB SECT FILE FGN 16 DOC
5YDW #
5YYG # FREES FUWBS/FURWBS BELONGING TO SWAPPED OUT PROGRAMS
5^D6 #MAC FRSOFUWB
5^XQ LDCT 0 #600
62CB CALL 7 M12FREEFILE
62X2 #NOR
636S ...[??? FREEFURB SECT FILE FGN 16 DOC
63BL #
63W= #MAC FREEFURB
64*W [FREE READ BUFFER BLOCKS
64TG LDN 0 0
65*6 CALL 7 M12FREEFILE
65SQ #NOR
664J ...[??? FREEFUWB SECT FILE FGN 16 DOC
66#B
66S2 #MAC FREEFUWB
67?L [FREE WRITE BUFFER BLOCKS
67R= LDX 0 GSIGN
68=W CALL 7 M12FREEFILE
68QG #NOR
692# ...[??? FREEFILE SECT FILE FGN 16 DOC
69=6
69PQ #MAC FREEFILE
6=9B [CONTAINS SUBROUTINES FOR ABOVE MACROS
6=P2 [
6?8L [ FREE HALF THE HALF-OPEN CHAIN
6?N= #DEF M1FREEFILE=0?
6#7W LDX 5 HALFFCB
6#MG SRA 5 1
6*76 BRN M3FREEFILE
6*LQ [
6B6B [ FREE ALL THE HALF-OPEN CHAIN
6BL2 #DEF M2FREEFILE=0?
6C5L LDX 5 HALFFCB
6CK= M3FREEFILE
6D4W ... SBN 5 8 [LEAVE 16 OR 8 BLOX IN 1/2-CHAIN
6DJG BNG 5 (7)
6FHQ LDX 3 FFSFCB
6G3B LDN 4 1
6GH2 M4FREEFILE
6GL6 ... BZE 5 (7)
6HG= LDX 1 BHALF+1
6HQ4 ... ADX 6 ASIZE(1)
6H^W BXU 3 ATYPE(1),M5FREEFILE [JUMP IF NOT FCB
6J^6 SBN 5 1
6K6# ... DELFCB 1,HALF
6K?G ... BRN M4FREEFILE
6KDQ M5FREEFILE
6L4? ... FREECORE 1
6LXL BRN M4FREEFILE
6MC= [
6MWW [
6NBG #DEF M8FREEFILE=0?
6NW6 STO 0 GEN0 [STORE LINK
6P*Q LDCT 0 #40
6PTB ANDX 0 7
6Q*2 BNZ 0 M8FFREEFILE
6QSL LDN 0 FILE+FSTACK
6R#= SLL 0 12
6RRW M8AFREEFILE
6S?G LDX 3 BPTR(3) [SEARCH BACK FOR FSTACK
6SR6 BXU 0 ATYPE(3),M8AFREEFILE
6T=Q LDEX 2 ARINGNO(3)
6TQB ... BZE 2 M8GFREEFILE
6W=2 ADN 3 A1
6WPL M8BFREEFILE
6X9= JBS M8EFREEFILE,3,BASPARE
6XNW JMBAC M8EFREEFILE,3,BAMREAD,BAMREADR,BAMAPP,BAMWRITE,BAMGEN, -
6Y8G BAMCOPY,BAMCLEAN
6YN6 LDX 1 3
6^7Q M8CFREEFILE
6^MB LDX 1 BPTRF(1) [SEARCH BACK ROUND FILE RING FOR ACTI
7272 SMO FBACKPOINT(1)
72LL LDX 0 ATYPE(1)
736= BXL 0 CACT,M8CFREEFILE
73KW LDX 0 JOBNO-FILERING(1)
745G BZE 0 M18FREEFILE [NO GOOD - OPEN TO NOUSER ACTIVITY
74K6 LDN 1 BJOBQ
754Q M8DFREEFILE
75JB LDX 1 FPTR(1)
75S8 ... BXE 1 CXJO,M18FREEFILE
76HL BXU 0 JOBNUM(1),M8DFREEFILE
773= JBC M18FREEFILE,1,JBSO [J IF USER PROGS NOT SWAPPED OUT
77GW M8EFREEFILE
782G ADN 3 FELLEN
78G6 BCT 2 M8BFREEFILE
78PY ...M8GFREEFILE
78^Q SMO 4
79FB LDX 3 BPTR
79^2 M8FFREEFILE
7=DL LDN 0 1
7=Y= ADS 0 CJSOFREE
7?CW BRN (GEN0) [OK TO FREE
7?XG [ X7 BIT 0 - FREE WRITE BLOCKS
7#C6 [ BIT 1 - FREE BLOCKS FOR SWAPPED-OUT PROGRAMS
7#WQ [ BIT 2 - FREE ALTERNATE BLOCKS
7*BB [ BIT 3 SEARCHING WORKFILE RINGS
7*W2 ...[ BIT 4 - ALTERNATE BLOCK SWITCH
7B*L [ ENTER @ M12 TO SEARCH FILE CHAIN & WORKFILE RINGS ONLY
7FR2 #DEF M12FREEFILE=0?
7G=L SBX 7 FX1
7GQ= ORX 7 0 [KEEP SWITCH BITS
7HPG LDX 3 BFILE [SEARCH FILE CHAIN
7J96 LDN 5 BFILE
7JNQ M14FREEFILE
7K8B BXE 3 5,M31FREEFILE [JUMP IF END OF CHAIN
7K=^ ...#SKI IFS
7K*J ...(
7KD7 ... SBN 3 FCBRING
7KGQ ...M13FREEFILE
7KK* ...)
7KN2 LDX 4 FPTR(3)
7L7L LDX 0 ATYPE(3)
7LM= SRL 0 12
7M6W BNG 7 M20FREEFILE
7MLG SBN 0 FILE+FURB
7N66 BZE 0 M15FREEFILE [J IF FURB
7NKQ SUBNUM 0,FURRB-FURB
7P5B BNZ 0 M18FREEFILE [J UNLESS FURRB
7PK2 LDCT 0 #100
7Q4L ANDX 0 7
7QJ= BZE 0 M15FREEFILE [J UNLESS FREEING ALTERNATE BLOCKS
7R3W LDN 0 GSBS4
7RHG BXE 0 ALOGLEN(3),M18FREEFILE
7S36 [PROBABLY MT INDEX BLOCK - SO DONT FR
7SGQ M15FREEFILE
7T2B LDCT 0 #200
7TG2 ANDX 0 7
7T^L BZE 0 M16FREEFILE
7WF= CALL 0 M8FREEFILE
7WYW BRN M17FREEFILE
7XDG M16FREEFILE
7XY6 LDCT 0 #100
7YCQ ANDX 0 7
7YXB BZE 0 M17FREEFILE [J UNLESS FREEING ALTERNATE BLOCKS
7^5L ... LDCT 0 #20
7^?W ... ERS 0 7
7^G6 ... ANDX 0 7
7^NB ... BZE 0 M18FREEFILE
7^WL M17FREEFILE
82B= ADDSKIP I516A,COREFURB
83*G ADX 6 ASIZE(3)
86?= FREECORE 3
86QW M18FREEFILE
87=G LDX 3 4
87#9 ...#SKI IFS
87*Y ...(
87CM ... BXGE 6 CJTARGET,M19FREEFILE
87FB ... BXU 0 FFSFCB,M13FREEFILE
87H5 ... LDX 3 FCBRING(3)
87JS ... BRN M14FREEFILE
87LH ...)
87N= ...#SKI IFS<1$1
87Q6 BXL 6 CJTARGET,M14FREEFILE
889Q M19FREEFILE
88PB ANDN 7 #7777 [GET RID OF SWITCH BITS
8992 ADX 7 FX1
8=8= BRN (7)
8=MW M20FREEFILE
8?7G SBN 0 FILE+FUWB
8?M6 BZE 0 M21FREEFILE [J IF FUWB
8#6Q SUBNUM 0,FURWB-FUWB
8#LB BNZ 0 M18FREEFILE [J UNLESS FURWB
8*62 LDEX 0 ATYPE(3)
8*KL BNZ 0 M18FREEFILE [J IF FURWB NOT FULL
8B5= M21FREEFILE
8BJW LDCT 0 #200
8C4G ANDX 0 7
8CJ6 BZE 0 M22FREEFILE
8D3Q CALL 0 M8FREEFILE
8DHB M22FREEFILE
8F32 LDX 1 BPTR(3) [FIND FCB SKIPPING FSTACK
8FGL LDX 0 FFSFCB
8G2= M23FREEFILE
8GFW LDX 1 BPTR(1)
8G^G BXU 0 ATYPE(1),M23FREEFILE
8HF6 JBS M18FREEFILE,1,BFCOPY[CANT WRITE BLK IF FILE BEING COPIED
8HYQ ... LDX 2 3 [FOR HCHBLW
8JDB ... CALL 0 (HCHBLW) [CHECK FOR CORRUPTION IF SERIAL
8JY2 ... BRN M23AFREFILE
8KCL ... GEOERR 1,CORRUPT! [CORRUPT FUWB
8KX= ...M23AFREFILE
8LBW ... UNJAMWRI M24FREEFILE,M25FREEFILE
8LWG ... ADX 6 ASIZE(3)
8MB6 ... FREECORE 3
8T9L M24FREEFILE
8TP= FON #55 [WAKE UP CLOSES
8W6= ... LDCT 0 #40
8WH= ... ANDX 0 7
8WY= ... BZE 0 M18FREEFILE [J UNLESS SEARCHING WORKFILE RINGS
8X*= ... STOZ 5 [INDICATES NOT YET REACHED END OF
8XQ= ... BRN M32FREEFILE [RING FOR CURRENT JOB.
8Y7B M25FREEFILE
8YM2 LDX 1 ATFAPTR [ADDRESS OF TRANSFER FAIL ACTIVITY
8^6L LDX 0 BACK1(1)
8^L= LDN 2 1 [INCREMENT COUNT OF FAILS BEING DEALT
925W ADS 2 BACK1(1) [WITH BY TRANSFER FAIL ACTIVITY
92KG BNZ 0 M26FREEFILE [NO NEED TO FPUT ACTIVITY IF ALREADY
9356 ADN 1 BSCHANAD
93JQ BXU 1 0(1),M26FREEFILE
944B LDX 2 ATFAPTR
94J2 FPUT
953L M26FREEFILE
95H= LDX 1 BLANKF1
962W ... STO 4 BACK2(3)
9726 STO 1 BACK1(3)
97FQ NAME 3,BSTB,BWRITE
97^B STOZ BLANKF1 [CLEAR WORDS SET UP BY BSTS
98F2 STOZ BLANKF2
98YL LDX 4 FPTR(3) [NEXT BLOCK
99D= UNLOCK 3
99XW LDX 2 BBAC
9=CG CHAIN 3,BPTR(2) [CHAIN TO TF ACTIVITY
9=X6 BRN M24FREEFILE
9?BQ M31FREEFILE
9#B2 BXU 5 CXFI,M32FREEFILE [J UNLESS END OF FILE CHAIN
9#TL LDCT 0 #40
9**= ORX 7 0
9*SW LDX 2 FX2
9B#G STOZ AWORK2(2)
9BS6 M32FREEFILE
9C?Q LDN 1 BJOBQ
9CRB M33FREEFILE
9D?2 LDX 1 FPTR(1)
9DQL BXE 1 CXJO,M19FREEFILE
9F== NGX 0 JOBNUM(1)
9FG4 ... ADX 0 AWORK2(2)
9FPW ... BNZ 0 M33AFREFILE [J IF NOT CURRENT JOBNO (IN AWORK2)
9F^N ... BZE 5 M33BFREFILE [J IF NOT REACHED END OF RING
9G9G ...M33AFREFILE
9GF# ... BPZ 0 M33FREEFILE [J IF JOB EXAMINED ALREADY
9GP6 ... SBS 0 AWORK2(2) [ELSE RESET AWORK2 TO NEXT JOBNO.
9GT3 ... LDN 5 1 [SET 'END OF RING' MARKER
9GYY ...M33BFREFILE
9H8Q LDCT 3 #200
9HNB ANDX 3 7
9J82 BZE 3 M34FREEFILE [J UNLESS SEARCHING FOR SWAPPED PROG
9JML JBC M33FREEFILE,1,JBSO [OMIT UNLESS SWAPPED OUT
9K7= M34FREEFILE
9KLW HLSAV 1,SET,SAVING,JOBQ,M33FREEFILE
9L6G FCAJO 3,1,N
9LB# ... LDX 0 5
9LL6 LDN 5 BWORKRING(3)
9LTY ... BZE 0 M18FREEFILE
9M5Q LDX 3 BWORKRING(3)
9MKB BRN M14FREEFILE
9N52 #NOR
9N#S ...[??? CLUDGEQU SECT FILE FGN 16 DOC
9NJL
9P4= [ %A MODIFIER POINTING TO FCB
9PHW [ %B LABEL TO JUMP TO IF CLUDGE
9Q3G [ %C & %D WORK ACCUMULATORS (X3->X7)
9QH6 #MAC CLUDGEQUERY
9R2Q LDX 1 FPTR(%A)
9RGB LDX 0 ATYPE(1)
9S22 SRL 0 12
9SFL SBN 0 FILE+FSTACK
9S^= BNZ 0 M3CLUDGEQUE
9TDW SMO FX2
9TYG LDX %C JOBNO
9WD6 LDEX %D ARINGNO(1)
9WMY ... BZE %D M3CLUDGEQUE
9WXQ M1CLUDGEQUE
9XCB LDN 2 A1(1)
9XX2 M2CLUDGEQUE
9YBL LDX 2 BPTRF(2)
9YW= SMO FBACKPOINT(2)
9^*W LDX 0 ATYPE(2)
9^TG BXL 0 CACT,M2CLUDGEQUE
=2*6 BXE %C JOBNO-FILERING(2),%B
=2SQ ADN 1 FELLEN
=3#B BCT %D M1CLUDGEQUE
=3S2 M3CLUDGEQUE
=4?L #NOR
=4HD ...[??? NEWDIR SECT FILE FGN 16 DOC
=4R=
=5=W [CREATES A NON-PSEUDO DIRECTORY GIVEN A FABSNB & A CREATE BLOCK
==76 #MAC NEWDIR
==LQ DOWN NEWDIR,1
=?6B BRN %A
=?L2 #NOR
=#5L ...[??? ASSILO SECT FILE FGN 16 DOC
=#K=
=*4W # THIS MACRO EFFECTS AN ASSIGN FOR LOAD
=*JG #MAC ASSILO
=B46 DOWN ASSIGN,10
=BHQ BRN %A
=C3B #NOR
=C?8 ...[??? UNCOMERR SECT FILE FGN 16 DOC
=CH2
=D2L #MAC UNCOMERR
=DG= LDX 0 GSIGN
=D^W SMO FX2
=FFG ERS 0 EXT+8
=F^6 #NOR
=GDQ ...[??? CONFURWB SECT FILE FGN 16 DOC
=GYB ...
=HD2 ...#MAC CONFURWB
=HXL ...#STR %B
=JC= ... ACCSTO %B,ACOMMUNE4,FX2
=JWW ...#STR %A
=KBG ... CHAIN %A,FX2
=KW6 ...#STR %B
=L*Q ... DOWN EDOBJ,21
=LTB ...#STR %B
=M*2 ...#SKI
=MSL ... DOWN EDOBJ,22
=N#= ...#NOR
=NRW ...[??? BLAM SECT FILE FGN 16 DOC
=P?G ...
=PR6 ...# MACRO TO CONVERT BLOCK NO IN USAGE BLOCK TO FREADBLOCK TYPE POINTE
=Q=Q ...# BLOCK MUST BE CHAINED BEHIND CURRENT ACTIVITY UNLESS %B GIVEN
=QQB ...#MAC BLAM
=R=2 ...#STR %A
=RPL ...#SKI
=S9= ...(
=SNW ...#STR %B
=T8G ... MOD LDX 0 BACK2,%B
=TN6 ... LDX 2 FX2
=W7Q ...#STR %B
=WMB ...#SKI
=X72 ...(
=XLL ... SMO FPTR(2)
=Y6= ... LDX 0 BACK2
=YKW ...)
=^5G ... LDN 1 0
=^K6 ... SRL 01 2
?24Q ... SLL 0 2
?2JB ... TOPFCB2 2
?342 ...)
?3HL ...#STR %A
?43= ...(
?4GW ...#STR %B
?52G ...! %B NOT ALLOWED IF %A PRESENT
?5G6 ...#STR GEN0,%A
?5^Q ... STO 3 GEN0
?6FB ...#STR 3,%A
?6^2 ... LDX 3 %A
?7DL ... LDX 2 FX2
?7Y= ... LDX 1 FPTR(2)
?8CW ... FFCA
?8XG ...#STR GEN0,%A
?9C6 ... LDX 3 GEN0
?9WQ ... ADX 2 FBACKPOINT(2)
?=BB ... LDX 2 BPTR(2)
?=W2 ... LDX 0 BACK2(1)
??*L ... LDN 1 0
??T= ... SRL 01 2
?##W ... SLL 0 2
?#SG ...)
?*#6 ... ADN 1 A1-1(2)
?*RQ ... ADX 1 FBLMOD(2)
?B?B ...M1BLAM
?BR2 ... TXU 0 0(1)
?C=L ... BCC M2BLAM
?CQ= ... BCT 1 M1BLAM
?D9W ...M2BLAM
?DPG ... SBX 1 2
?F96 ...#NOR
?FNQ ...[??? FINDACTX SECT FILE FGN 16 DOC
?TXB #
?WC2 #
?WWL #MAC FINDACTX
?XB= ADN %A ACTRING
?XTW M1FINDACTX
?Y*G LDX %A FPTR(%A)
?YT6 BXU %B ACTNUM-ACTRING(%A),M1FINDACTX
?^#Q SBN %A ACTRING
?^SB #NOR
#248 ...[??? OPENBUDO SECT FILE FGN 16 DOC
#2#2 #
#2RL #MAC OPENBUDO
#3?= # OPENS DICT & READS ENTRY FOR OWNER OF FILES IN DIRECTORY
#3QW # NAMED BY FIRST FABSNB IN CHAIN
#4=G DOWN BUDGTWO,31
#4Q6 BRN %A
#59Q #NOR
#5FJ ...[??? ERASTREM SECT FILE FGN 16 DOC
#5PB
#692 #MAC ERASTREM
#6NL DOWN ERASE,2
#78= #NOR
#7D4 ...[??? ERASEMUL SECT FILE FGN 16 DOC
#7MW #MAC ERASEMULT
#87G DOWN ERASE,2
#8M6 #NOR
#8WY ...[??? COMPQU SECT FILE FGN 16 DOC
#96Q
#9LB
#=62 #MAC COMPQU
#=KL TOPFCA 0
#?5= SMO 0
#?JW LDX 0 FGENERAL1
##4G SLL 0 8
##J6 BPZ 0 %A
#*3Q DOWN COMPCHAN,1
#*HB #NOR
#*R8 ...[??? CLOSESTR SECT FILE FGN 16 DOC
#B32 #
#BGL #
#C2= #MAC CLOSESTREAM
#CFW DOWN COMPOST,7
#C^G #NOR
#D9# ...[??? CLOSEMUL SECT FILE FGN 16 DOC
#DF6 #MAC CLOSEMULT
#DYQ DOWN COMPOST,7
#FDB #NOR
#FN8 ...[??? FSCON SECT FILE FGN 16 DOC
#FY2
#GCL
#GX= #MAC FSCON
#HBW #STR %A,0
#HWG LDX 0 %A
#JB6 TOPFCB 1
#JTQ SBS 0 FSIZE(1)
#K*B MBS 1,BFALTB,BFALTR
#KT2 LDX 0 FSIZE(1)
#L#L BPZ 0 M1FSCON
#LS= STOZ FSIZE(1)
#M?W LDN 0 FBLKS-A1
#MRG STO 0 FBLMOD(1)
#N?6 BRN %B
#NQQ M1FSCON
#P=B ADN 0 FBLKS-A1
#PQ2 BXGE 0 FBLMOD(1),M2FSCON
#Q9L STO 0 FBLMOD(1)
#QP= M2FSCON
#R8W #NOR
#RDN ...[??? EXTEND SECT FILE FGN 16 DOC
#RNG
#S86 #MAC EXTEND
#SMQ #STR %A,0
#T7B LDX 0 %A
#TM2 TOPFCB 1
#W6L ADS 0 FSIZE(1)
#WL= MBS 1,BFALTB,BFALTR
#X5W LDN 0 FILESIZE
#XKG BXGE 0 FSIZE(1),M1EXTEND
#Y56 STO 0 FSIZE(1)
#YJQ BRN %B
#^4B M1EXTEND
#^J2 #NOR
#^RS ...[??? READED SECT FILE FGN 16 DOC
*23L #
*2H= # THESE MACROS READ & WRITE UP TO ONE BUCKET OF EDS-TYPE FILES OF
*32W # BUCKS1,2&4. THE BUCK PARAMETER (%B) IS NOT REPLACED. IF BUCK8 IS
*3GG # USED AN ERROR LINE IS FLAGGED AT COMPILATION TIME. THE AUTHOR IS
*426 # AWARE THAT THE TENSE USED IS NOT COMMONLY FOUND IN TEXT BOOKS ON
*4FQ # STANDARD ENGLISH.
*4^B #MAC READED
*5F2 #STR %C
*5YL ACCSTO %C,ACOMMUNE7,FX2
*6D= #STR %C
*6XW #SKI
*7CG (
*7X6 LDN 0 %B*128
*8BQ SMO FX2
*8WB STO 0 ACOMMUNE7
*9B2 )
*9TL ACCSTO %A,ACOMMUNE8,FX2
*=*= LDN 0 %B
*=SW SMO FX2
*?#G STO 0 ACOMMUNE9
*?S6 DOWN RAND,1
*#?Q #STR %B,8
*#RB #SKI
**?2 ! BUCK8 INVALID WITH READED
**QL #NOR
*B2D ...[??? WRITED SECT FILE FGN 16 DOC
*B==
*BPW #MAC WRITED
*C9G ACCSTO %A,ACOMMUNE8,FX2
*CP6 LDN 0 %B
*D8Q SMO FX2
*DNB STO 0 ACOMMUNE9
*F82 #STR %B,8
*FML #SKI
*G7= ! BUCK8 INVALID WITH WRITED
*GLW DOWN RAND,2
*H6G #NOR
*HB# ...[??? TRANSFOR SECT FILE FGN 16 DOC
*HL6 #
*J5Q # MACROS TO CONVERT P/T RECORDS
*JKB #
*K52 #MAC TRANSFORM
*KJL SMO FX2
*L4= STO %A ACOMMUNE1
*LHW SMO FX2
*M3G STO %B ACOMMUNE2
*MH6 DOWN TRANSFOR,1
*N2Q #NOR
*N=J ...[??? TRANSFO1 SECT FILE FGN 16 DOC
*NGB
*P22 #MAC TRANSFO1
*PFL LDX 2 FX2
*P^= ANSOK2
*QDW LDX 0 %A
*QYG ERX 0 %B
*RD6 ANDN 0 #7775
*RXQ BZE 0 MTR
*SCB LDN 1 #20
*SX2 ANDX 1 %B
*TBL ERX 0 1
*TW= BZE 0 MTR
*W*W STO %A ACOMMUNE1(2)
*WTG STO %B ACOMMUNE2(2)
*X*6 DOWN TRANSFOR,1
*XSQ MTR LDX 1 FX1
*Y#B #NOR
*YJ8 ...[??? INFINB SECT FILE FGN 16 DOC
*YS2 #
*^?L # INPUT MACRO TO SET OR UNSET BIT FOR FINISH COMMAND
*^R= #
B2=W #MAC INFINB
B2QG LDX 2 FX2
B3PQ BRUSEN M1INFINB,2
B49B CJOBLOCK 1
B4P2 LDCT 0 #40
B58L ERS 0 JMISC(1)
B5N= LDX 1 FX1
B776 BRN M2INFINB
B7LQ M1INFINB
B86B LDN 0 #2000
B8L2 ERS 0 EXT+11(2)
B95L ...M2INFINB
B=4W #NOR
BJ*2 ...#
^^^^ ...43065557003100000000