{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BMAPTWO860)}}
====== BMAPTWO860 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENGD|ALTLENGD]], [[george:macro:APPEND|APPEND]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BBS|BBS]], [[george:macro:BC|BC]], [[george:macro:BMSTATS|BMSTATS]], [[george:macro:BS|BS]], [[george:macro:BWZ|BWZ]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COOR3|COOR3]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FON|FON]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREELEX|FREELEX]], [[george:macro:FULLBPAS|FULLBPAS]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACT|GETACT]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:JBC|JBC]], [[george:macro:JBCC|JBCC]], [[george:macro:JBS|JBS]], [[george:macro:JMBAS|JMBAS]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:MBC|MBC]], [[george:macro:MBS|MBS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:READ|READ]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:READDICT|READDICT]], [[george:macro:REPLACE|REPLACE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SKIP|SKIP]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPREWRITE|STEPREWRITE]], [[george:macro:STEPWRITE|STEPWRITE]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TOPFCB2|TOPFCB2]], [[george:macro:TRACEIF|TRACEIF]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:VFREE|VFREE]]
22^= ... SEG BMAPTWO,83,TONY MAY,BMAP
23DW [
23L4 ...#OPT BMTRACE=0
23YG SEGENTRY K1BMAPTWO,Z1BMAPTWO
24D6 SEGENTRY K2BMAPTWO,Z2BMAPTWO
24XQ [
25CB [
27*W [
27TG [
28*6 [ 'CAREFUL' PROCESSING OF DIRECTORIES REQUIRING FURTHER PROCESSING AS
28SQ [ INDICATED BY AN ENTRY IN THE FLIST BLOCK SET UP DURING THE SFTS
28^Y ...#UNS FNSAD
2976 ...MESSNSAD +BMNSADBITS
29#B WORDS +GWORDS
2=?L TYPE #40000012 [GRAPHIC
2=R= #SKIP JWPHASE1
2?=W NUJOBLAN 4H****
2?QG XLINK
2#=6 LINK BMAPTWO,2 [LINK FOR AUTWMAPS
2#PQ NLIST +10
2*9B 12HSYSTEM
2*P2 NLISTFLOCNB
2B8L 12HLISTLOSTFILE
2BN= 1,1,4HB1
2C7W STEPWRITE
2CMG ... SBX 5 FX1
2D76 ... STEPWRITE
2DLQ ... ADX 5 FX1
2NDQ EXIT 5 0
2NYB [
2PD2 STEPREWRITE
2PXL ... STEPREWRITE
2QC= ... EXIT 5 0
2S*Q [
2STB OUTBLOCK
2T*2 SBX 5 FX1
2TSL OUTBLOCK 7
2W#= ADX 5 1
2WRW EXIT 5 0
2X?G [
2XR6 TOHUNTFLIST
2Y=Q HUNTMISB 1,FI,FLIST
2YQB EXIT 7 0
2^=2 [
2^PL Z1BMAPTWO [ENTRY ACROSS FROM BMOUTPUT FOR MASTER ACTIVITY
329= ...
32RY ... LDN 6 4
33N6 CALL 7 TOHUNTFLIST
347Q LDX 5 A1(1) [FLIST USED DATA SPACE
34#Y ... LDN 0 8
34G6 ... BMSTATS 0,5
34SJ ... BZE 5 PROSSENDED [IF NO DIRECTORIES NEED PROCESSING
3572 DVS 4 6
35BS ... CALL 7 TOHUNTFLIST
35LL LDX 7 A1+2(1) [NUMBER OF POSSIBLE AUTOMAP ACTIVITY
366= STOZ A1+2(1)
36=N ... SEGENTRY K61BMAPTWO
36C6 ... LDN 0 50
36HJ ... BXL 5 0,NOTOOMANY
36N2 ... SEGENTRY K60BMAPTWO
36SD ... LDN 7 50
36YW ...NOTOOMANY
375G TXL 7 5
37K6 BCC NOSWOP
384Q STO 7 5
38JB NOSWOP
38L# ... SETNCORE 10,2,FILE,FABSNB
38N= ... ADN 2 A1
38Q8 ... ADN 1 NLIST
38S6 ... MOVE 1 10
38W4 ... OPEN XBR,APPEND
38Y2 ... TESTRPN2 OK,XBR
38^Y ...NEWSLAVE
3942 GETACT BSA,AUTOMAP [ACTIVITY BLOCK FOR AUTOMAP
39HL CALL 7 TOHUNTFLIST
3=3= LDN 0 1
3=GW ADS 0 A1+1(1)
3?2G LDX 2 BPTR(2)
3?G6 LDX 1 FX1
3?^Q LINKSET 2,XLINK(1)
3#FB FPUT [KICK IT OFF
3#H^ ... BCT 5 NEWSLAVE
3#LJ ...NXTFAPB
3#P7 ... MHUNTW 3,FILE,FAPB
3#RQ ... BNG 3 NOFAPBS
3#W* ... APPEND
3#YY ... MFREEW FILE,FAPB
3*3H ... BRN NXTFAPB
3*66 ...NOFAPBS
3*8P ... CALL 7 TOHUNTFLIST
3*?# ... LDX 0 A1+1(1)
3**X ... BZE 0 PROSSEND
3*DL COOR3 BMAPACT [WAIT FOR LAST SLAVE TO FINISH
3*ND ... BRN NXTFAPB
3*Y= PROSSEND
3*^3 ... CLOSETOP
3*^S ...PROSSENDED
3B2K ... CALL 7 TOHUNTFLIST
3B3B ... FREECORE 1
3B47 ... UNLOCK 2
3B84 ... LDN 0 9
3B?^ ... BMSTATS 0
3BCW ACROSS BACKMASS,1
3BXG [
3CC6 [
3CWQ [
3DBB [
3DW2 Z2BMAPTWO [ENTRY FOR SLAVE ACTIVITIES TO PROCESS DIRECTORIES WHOSE
3F*L [NAMES APPEAR IN THE FLIST BLOCK
3FT= [
3G54 ...
3G#W ... SETNCORE 4,2,FILE,FABSNB
3J?B SETNCORE 6,2,FILE,FLOCNB
3KQ= NEXTUSER
3L9W MHUNTW 3,FILE,FABSNB
3LPG ALTLENGD 3,4
3M96 CALL 7 TOHUNTFLIST
3MNQ LDX 0 A1+2(1) [ADDRESS OF NEXT USER FOR PROCESSING
3N8B SBX 0 A1(1) [ - NUMBER OF USERS IN FLIST
3NN2 BZE 0 NOMOREUSERS [IF ALL OF FLIST IS PROCESSED
3P7L MHUNTW 2,FILE,FABSNB
3PM= LDN 4 4
3Q6W STO 4 A1(2) [FABSNB RECORD HEADER
3QLG ADN 2 A1+1 [POSITION IN FABSNB FOR MOVE
3R66 SMO A1+2(1)
3R9= ...#UNS FNSAD
3R#B ... ADN 1 A1+4
3RCG ...#UNS FNSAD
3RGL ...#SKI
3RKQ ADN 1 A1+3 [ADDRESS OF SSER IN FLIST
3S5B MOVE 1 3 [USERNAME INTO FABSNB
3SK2 CALL 7 TOHUNTFLIST
3SM9 ...#UNS FNSAD
3SPD ... LDN 4 4
3SRM ... SMO A1+2(1)
3STW ... LDX 7 A1+7(1)
3SY5 ...#UNS FNSAD
3T2# ...#SKI
3T4L LDN 4 3
3TJ= ADS 4 A1+2(1)
3TK9 ... LDCT 0 #100
3TL8 ... ANDX 0 7
3TM7 ... BZE 0 NOPRBITS
3TN6 ... OPENDIR XBR,GENERAL
3TP5 ... MHUNTW 3,FILE,ENT
3TQ4 ... NAME 3,FILE,FWB
3TR3 ... BC 3,BEPARTRES
3TS2 ... BACKSPACE
3TS^ ... REPLACE
3TTY ... MFREE FILE,FWB
3TWX ... CLOSETOP
3TXW ... LDCT 0 #600
3TYT ... ANDX 0 7
3T^S ... BZE 0 NEXTUSER
3W2R ...NOPRBITS
3W3W OPEN XBR,GENERAL
3W49 ...#UNS FNSAD
3W4J ...(
3W4X ... LDCT 0 #200
3W5= ... ANDX 0 7
3W5K ... BZE 0 NOUPDATE
3W5Y ... STO 7 6
3W6? ... LDN 7 6
3W6L ... CALL 5 OUTBLOCK
3W6^ ... LDX 7 6
3W7# ... TOPFCB2 3
3W7M ... ADN 3 FME1
3W82 ... LDN 4 3
3W8* ... LDN 5 JPDUSERNAME
3W8N ... OUTPACKX 3,4,5
3W93 ... LDN 3 7
3W9B ... LDN 4 1
3W9P ... LDN 5 JPDOCTA
3W=4 ... OUTPACKX 3,4,5
3W=C ... LDX 6 MESSNSAD(1)
3W=Q ... MONOUTX 6
3W?5 ... TOPFCB2 3
3W?D ... MBC 3,BFDIRBELOW,BFDUMP,BFJOB4ASTR
3W?R ... BS 3,BFDIRUPDATE
3W#6 ... LDEX 0 7
3W#F ... LDN 4 4
3W#S ... ANDS 7 4
3W*7 ... BZE 4 NOTJOB4ASTR
3W*G ... BS 3,BFJOB4ASTR
3W*T ...NOTJOB4ASTR
3WB8 ... LDN 4 2
3WBH ... ANDS 7 4
3WBW ... BZE 4 NOTDUMP
3WC9 ... BS 3,BFDUMP
3WCJ ...NOTDUMP
3WCX ... LDN 4 1
3WD= ... ANDS 7 4
3WDK ... BZE 4 NOUPDATE
3WDY ... BS 3,BFDIRBELOW
3WF? ...NOUPDATE
3WFL ... BPZ 7 NOMORE
3WF^ ...)
3WHG NEXTNAME
3X36 STEP [NEXT NAME RECORD
3XGQ BZE 3 NOMORE [J IF END OF THIS DIRECTORY
3Y2B LDX 0 EINF2-A1(3)
3YG2 ANDN 0 #1000
3Y^L SRL 0 9
3^F= ADX 0 ENUSE-A1(3) [TREAT INDEX REC AS EXTRA TRAP
3^YW STO 0 AWORK1(2)
42DG LDEX 0 ECOPS-A1(3)
42Y6 STO 0 AWORK2(2)
43CQ [
43XB SEGENTRY K91BMAPTWO [FOR NEWDUMP MEND MACRO
44C2 BBS 4,EINF2-A1(3),TAPE [J IF LIBRARIAN ENTRANT
44WL BWZ EUSE1-A1(3),TERMINAL
45B= [J IF TERMINAL FILE
45TW TRACEIF K6BMAPTWO,99,299,EUSE1-A1(3),DIRECTRY
46*G TRACEIF K6BMAPTWO,199,299,EUSE2-A1(3)
46T6 TRACEIF K6BMAPTWO,199,299,EUSE3-A1(3)
474Y ... JMBAS PARTFAIL,3,BNTEMP,BNPARTRES
47#Q JBC SKIP,3,BNERASE [DIRECTORY OK
47SB ... JBS TEMPDIR,3,BNTEMP
48#2 TRACEIF K6BMAPTWO,199,299,EUSE1-A1(3),NOTINDIC
4FJW #SKI K6BMAPTWO>99-99
4G4G BRN VDELN
4G*7 ...PARTFAIL
4GKS ... OPENSYS XBR,DICTIONARY,GENERAL
4GLM ... SETNCORE 4,2,FILE,ASELFLEX
4GMG ... STEPAGAIN 1
4GN* ... LDN 4 EUSE1N(3)
4GP8 ... MHUNTW 2,FILE,ASELFLEX
4GQ3 ... LDN 5 A1(2)
4GQW ... MOVE 4 3
4GRP ... STOZ A1+3(2)
4GSJ ... READDICT ,EUSE1N(3),NO
4GS^ ... TESTREP2 NOUSER,NTRYGONE
4GTC ... TESTRPN2 OK,XBR
4GW= ... DELETE
4GX5 ... CLOSETOP
4GXY ... OPENSYS XBR,LEXICON,WRITE
4GYR ... FREELEX
4G^8 ...NTRYGONE
4G^L ... CLOSETOP
4H2N ...TEMPDIR
4H3Q TRACEIF K6BMAPTWO,99,299,EUSE1-A1(3),TEMPDIR
4HHB #SKI K6BMAPTWO>199-199
4J32 BRN VDELN
4JGL TEMPDIRTY
4K2= TRACEIF K6BMAPTWO,199,299,ELAN-A1(3),TEMPDIRT
4KFW #SKI K6BMAPTWO>199-199
4K^G BRN VDELN
4LF6 TEMPLOST
4LYQ TRACEIF K6BMAPTWO,199,299,ELAN-A1(3),TEMPLOST
4MDB [
4MY2 SEGENTRY K92BMAPTWO [FOR NEWDUMP MEND MACRO
4NCL VDELN
4NX= LDX 3 AWORK1(2)
4PBW ADX 3 AWORK2(2)
4PWG LDN 7 1(3) [TOTAL NUMBER OF RECORDS IN ENTRY
4QB6 BZE 3 VDELX
4QTQ SKIP ,0(3)
4R*B VDELX
4RT2 DELETE
4S#L BCT 7 VDELX
4SS= BRN NEXTNAME
4T?W TERMINAL
4TRG TRACEIF K6BMAPTWO,99,299,ELOC1-A1(3),TERMFILE
4W?6 TRACEIF K6BMAPTWO,199,299,ELOC2-A1(3)
4WQQ TRACEIF K6BMAPTWO,199,299,ELOC3-A1(3)
4X=B [
4XQ2 SEGENTRY K93BMAPTWO [FOR NEWDUMP MEND MACRO
4Y9L BRN ZK94BMAPTWO
4YP= CALL 5 STEPREWRITE
4^8W STOZ EINC-A1(3)
4^NG STOZ EINCLOOK-A1(3)
5286 STOZ EDLD-A1(3)
52MQ STOZ ETLD-A1(3)
537B ZK94BMAPTWO
5R52 NGN 6 1
5RJL JBC RESCHECK,3,BNBMUWB [IF WAS NOT UNCLEAN
5S4= JBS TEMPDIRTY,3,BNTEMP [IF WAS TEMPORY TERMINAL FILE
5SHW BWZ EDLD-A1(3),NEWFILE
5SP4 ... LDX 0 ELANN(3) [DONT PUT INDEX FILE OFFLINE
5SW= ... BXE 0 NUJOBLAN(1),NEWFILE [SO J. IF USER JOBLIST
5T3G LDN 4 0
5TH6 CALL 5 STEPWRITE
5W2Q BC 3,BNBMUWB [CLEAR UNCLEAN BIT
5YJR ... JBCC NTBD,3,BNDUMP
5YNN ...TOBEDU
5YP^ ... JBS MDFOK,3,BNMDF
5YR= ... LDCT 0 1
5YSH ... STO 0 ECOPS-A1(3)
5YTS ...
5YX5 ...
5YYG MDFOK
5^D6 JBS ZEROCOP,3,BNCOOR
5^XQ MBS 3,BNLOSE,BNREVERT
624Y ...#UNS FNSAD
62=6 ... BC 3,BNDUMP
62CB LDX 0 EDLD-A1(3)
62X2 STO 0 EWRITDAY-A1(3)
63BL LDX 0 ETLD-A1(3)
63W= STO 0 EWRITTIME-A1(3)
64*W BRN ZEROCOP
64TG NTBD
65*6 BS 3,BNREVERT
65SQ ZEROCOP
66#B LDN 0 0
66S2 DLA 0 ECOPS-A1(3)
67?L REPORT
67R= LDN 6 0
68=W NEWFILE
68QG READAGAIN
69=6 MHUNTW 3,FILE,FRB
69PQ NAME 3,FILE,FAPB
6=9B TOPFCB2 2
6=P2 ADN 2 FME1
6?8L ADN 3 EUSE1
6?N= MOVE 2 3
6?WY ... LDX 2 BSACHAPTR
6#5L ... LDX 2 ACTRING(2)
6### ... SBN 2 ACTRING
6#H2 ... MHUNTW 3,FILE,FAPB
6#PN ... CHAIN 3,BPTR(2)
6#YB ... FON BMAPACT
6*76 BNG 6 VDELN
6*LQ PUTOFF
6B6B BWZ AWORK2(2),SKIP
6BL2 STOZ AWORK2(2)
6C5L STEP
6CK= DELETE [BLOCKS RECORD
6D4W SKIP
6DJG LDX 3 AWORK1(2)
6F46 ADX 3 AWORK2(2)
6FHQ BZE 3 NEXTNAME
6G3B SKIP ,0(3) [TRAPS & BLOCKS IF ANY
6GH2 BRN NEXTNAME
6H2L ...RESCHECK
6HG= ... JBC MULTCHECK,3,BNBM
6H^W JBS TEMPLOST,3,BNTEMP
6JFG TRACEIF K6BMAPTWO,199,299,ELOC1-A1(3),NO LOGFI
6J^6 JBS MDFONLY,3,BNMDF
6KYB BWZ EDLDN(3),NEWFILE
6L5J ... LDX 0 ELANN(3)
6L=Q ... BXE 0 NUJOBLAN(1),NEWFILE
6LD2 MDFONLY
6LXL LDN 4 0
6MC= CALL 5 STEPWRITE
6MWW BC 3,BNBM
6NBG JBS MDFCASE,3,BNMDF
6NW6 LDX 0 GSIGN
6P*Q ANDX 0 EINF2-A1(3)
6PTB BNZ 0 TOBEDU
6Q*2 MDFCASE
6QSL LDN 0 0
6R#= DLA 0 ECOPS-A1(3)
6RFD ... BRN PUTOFF
6RLL ...MULTCHECK
6RQ4 ... JBC TEMPFILE,3,BNMDF
6RTG ... JBC TEMPFILE,3,BNERASE
6R^2 ... DOWN BMSTREAM,4
6S68 ... STEPAGAIN
6S?G TEMPFILE
6SR6 JBC SKIP,3,BNTEMP
6T=Q TRACEIF K6BMAPTWO,99,299,ELAN-A1(3),TEMPFILE
6TQB LDX 0 EAUTOCOUNT-A1(3)
6W=2 ORX 0 ESAVECOUNT-A1(3)
6WPL BZE 0 NOTFROZEN
6X9= LDX 0 ESAVECOUNT-A1(3)
6XNW BNZ 0 SKIP [J IF SAVEFROZEN
6Y8G LDN 4 0
6YN6 CALL 5 STEPREWRITE
6^7Q BS 3,BNERASE [SET "ERASE" BIT
6^MB TRACEIF K6BMAPTWO,199,299,ELOC1-A1(3),ERASEBIT
7272 BRN SKIP
72LL NOTFROZEN
736= TRACEIF K6BMAPTWO,99,299,ELOC1-A1(3),DELETED
73KW LDX 7 AWORK2(2)
745G BZE 7 VDELN [J IF NO BLOCKS RECORD
74K6 READ [BLOCKS RECORD
754Q LDX 3 AWORK1(2)
75JB ADN 7 1(3)
7642 BZE 3 NOSKIP
76HL SKIP ,0(3)
773= NOSKIP
77GW MHUNTW 1,FILE,FRB
782G LDX 0 A1(1)
78G6 SBN 0 2
78^Q BNZ 0 VFREE
79FB FREECORE 1
79^2 BRN VDELX
7=DL VFREE
7=Y= NAME 1,BSTB,FULLB
7?CW FULLBPAS 1,2 [CHAIN BS IN FILE CHAIN FOR CLOSE TO
7?XG BRN VDELX
7#C6 TAPE
7#WQ JBS VDELN,3,BNERASE [IF WAS MARKED TO BE RETURNED IN SFTS
7*BB BRN SKIP
7*W2 NOMORE
7B*L CLOSETOP
7BT= BRN NEXTUSER
7C#W NOMOREUSERS
7D#6 CALL 7 TOHUNTFLIST
7DRQ LDN 0 1
7F?B SBS 0 A1+1(1)
7FR2 LDX 0 A1+1(1) [DECREMENT COUNT OF SLAVES STILL ON
7G=L BNZ 0 SLAVEXTANT [IF THIS IS NOT LAST SLAVE TO END
7H9W FON BMAPACT [ WAKE UP MASTER ACTIVITY
7HPG SLAVEXTANT
7J96 SUICIDE [AUTOMAP DEAD
7K8B XBR GEOERR 1,BMAPTWO
7KN2 [
7L7L MENDAREA BMAPGAP,K99BMAPTWO
7LM= #END
^^^^ ...437233660019