{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BMXEND7)}}
====== BMXEND7 ======
(George Source)
**Macros used:** [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BACKWAIT|BACKWAIT]], [[george:macro:BS|BS]], [[george:macro:CHAIN|CHAIN]], [[george:macro:FASTREWIND|FASTREWIND]], [[george:macro:GEOERR|GEOERR]], [[george:macro:INSERT|INSERT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:PSTAC|PSTAC]], [[george:macro:REPLACE|REPLACE]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SKIP|SKIP]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPREWRITE|STEPREWRITE]], [[george:macro:SUBSTITUTE|SUBSTITUTE]], [[george:macro:TOPFCA2|TOPFCA2]], [[george:macro:TOPFCB2|TOPFCB2]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]]
22FL #SEG BMXEND7 [JUDY BIDGOOD
22^= #OPT K0BMINDEX=K0FILESTORE>K0BMAP>K0RESTORE>K0ALLGEO
23DW #LIS K0BMINDEX
23YG #OPT K6BMINDEX=K6FILESTORE>K6BMAP>K6RESTORE>K6ALLGEO
24D6 8HBMXEND
24XQ SEGENTRY K1BMXEND,UPDATEDIR
26BL #
26W= # PRESETS
27*W #
27TG ZGEOER1
28*6 GEOERR 1,WRNGFILE [WRONG FILE OPEN TO BMINDEX
28SQ ZGEOER2
29#B GEOERR 1,SUMS ??? [GRINDEX'S ARITHMETIC GONE WRONG
29S2 ZGEOER3
2=?L GEOERR 1,INDEX??? [FILE OR INDEX RECORD CORRUPT.
2?QG ZGEOER5
2#=6 GEOERR 1,DIR BENT [ ENTRY WRONG
2#PQ ZGEOER6
2*9B GEOERR 1,NO FILE? [ NEXT FCA NOT THERE
2*P2 #
2B8L QUERIES
2BN= 4H???? [ MASTER'S SUPERIOR'S NAME
2C7W #
2CMG SIXTYFOUR +64 [ LARGEST RESIDENCE NUMBER.
2D76 # BITS & PIECES FOR MASTER'S DIRENT
2DLQ #
2F6B XMAST 12HMASTER [ LOCAL NAME
2FL2 +0
2G5L +0
2GK= XLANG 4HC1
2H4W XUSEM 12HMASTER [ USER-NAME
2HJG TRAPMAST [ TRAP (!)
2J46 +5
2JHQ 12HMANAGER
2K3B #2
2KH2 +0 [ ZERO @ E.O.F.
2L2L #
2NDQ #
2NYB [
2PD2 UPDATEDIR [ENTRY TO UPDATE DIRECTORY ENTRY AFTER FILE INDEXED.
2PXL [
2QC= ZEND
2QWW BACKWAIT [TO CATER FOR B.S. TRANSFER FAULTS.
2RBG LDXC 6 AWORK4(2) [ INDEX NO.
2RW6 BCS XMASTER [ J IF :MASTER
2S*Q SUBSTITUTE 1 [ CAREFUL UPDATING ON DIR (NECESSARY?
2STB STEPAGAIN 1 [ REPOSITION ON NAME RECORD
2T*2 #SKI K6BMINDEX
2TSL (
2W#= LDX 0 ERESN(3)
2WRW BNZ 0 ZGEOER5
2X?G LDX 0 FRH(3)
2XR6 SBN 0 FRDE
2Y=Q BNZ 0 ZGEOER5
2YQB )
2^=2 BS 3,BNINDEX [SET 'INDEXED' MARKER.
2^PL DEX 6 EINDEXN(3) [STORE INDEX NUMBER.
329= LDCT 0 #100 [ IF WE HAVE SET UP A NEW FILE,
32NW ANDX 0 AWORK4(2) [ WE REPLACE THE BLOCKS RECORD
338G BNZ 0 NOTREP
33N6 TOPFCB2 2
347Q LDX 7 FBLMOD(2)
34MB SBN 7 FBLKS-A1 [ X7 = NO.BLOXS.
3572 LDX 0 7 [ REWRITE ECOPS
35LL SRC 0 9
366= ADN 0 1
36KW STO 0 ECOPSN(3)
375G NOTREP
37K6 STEPREWRITE 1 [ REWRITE ENTRY
384Q LDCT 0 #100 [ J IF NO NEW FILE.
38JB ANDX 0 AWORK4(2)
3942 BNZ 0 NOTTREP
39HL ADN 7 2
3=3= SETUPCOR 7,3,FILE,FWB [ FWB FOR REPLACE
3=GW TOPFCB2 2
3?2G ADN 2 BSPRE
3?G6 STO 7 A1(3)
3?^Q ADN 3 A1+1
3#FB SMO 7
3#^2 MOVE 2 511 [ MOVE ACROSS BLOX
3*DL STEP 1
3*Y= REPLACE 1 [ REPLACE BLOX RECORD
3BCW MFREEW FILE,FWB
3BXG STEP 1
3CC6 BRN YREP
3CWQ NOTTREP
3DBB SKIP 1,2 [ J OVER COPIES & POS'N FOR INSERT
3DW2 YREP
3F*L MHUNTW 1,FI,FINDEXF
3FT= NAME 1,FILE,FWB
3G#W INSERT 1 [ INSERT INDEX RECORD
3GSG MHUNTW 1,FILE,FWB
3H#6 NAME 1,FI,FINDEXF
3HRQ TOPFCA2 2
3J?B PSTAC 2,2
3JR2 CHAIN 1,2 [ CHAIN INTO FILE CHAIN
3K=L LDN 7 3 [ CT. FOR REPOSITIONING.
3KQ= SBLP
3L9W BACKSPACE 1 [ ON NAME RECORDS
3LPG BCT 7 SBLP
3M96 UP
3MNQ FASTREWIND 2
3N8B SETREP OK
3NN2 UP
3P7L #
3PM= # MASTER - DO EVERYTHING BY HAND
3Q6W #
3QLG XMASTER
3R66 #SKI K6BMINDEX>99$99
3RKQ TRACE AWORK4(2),XMASTER
3S5B SETNCORE GSBS,3,BSTB,BWRITE
3SK2 # B.S. HOME.
3T4L LDN 0 BTHREE [ HOME PAIR FOR MASTER'S D.E
3TJ= STO 0 BACK1(3)
3W3W LDN 0 ADMASTDIR
3WHG STO 0 BACK2(3)
3X36 STOZ A1(3)
3XGQ LDN 6 A1(3)
3Y2B LDN 7 A1+1(3)
3YG2 MOVE 6 511
3Y^L # RECORD HEADER
3^F= LDN 0 FRDE
3^YW STO 0 A1+FRH(3)
42DG # NAME
42Y6 LDN 6 XMAST(1) [ LOCAL.
43CQ LDN 7 ELOC1(3)
43XB MOVE 6 5
44C2 LDX 0 XLANG(1) [ LANG.
44WL STO 0 ELAN(3)
45B= LDN 6 XUSEM(1) [ USER.
45TW LDN 7 EUSE1(3)
46*G MOVE 6 3
46T6 ... BS 3,BEBMUWB [SET GENRES IN PROGRESS BIT
47#Q BS 3,BEINDEX [SET 'FILE INDEXED' MARKER.
47SB LDN 0 INDEXDIR
48#2 STO 0 EINDEX(3) [ INDEXING BIT & NUMBER
48RL # ECOPS
49?= LDX 1 BFILE
49QW LDX 0 FGMTBS(1)
4==G STO 0 EGMTBS(3)
4=Q6 LDX 0 FLASTJAM(1)
4?9Q STO 0 ELASTJAM(3)
4?PB LDX 2 FBLMOD(1)
4#92 SBN 2 FBLKS-A1 [ SIZE OF :MASTER
4#NL LDCT 0 0(2)
4*8= ADN 0 1
4*MW STO 0 ECOPS(3) [ IN FCOPS
4B7G LDN 7 A1+FRDE+1(3)
4BM6 LDN 6 BSPRE(1)
4C6Q ADN 2 2 [ R.H.
4CLB STO 2 A1+FRDE(3)
4D62 MOVE 6 511(2) [ MOVE IN BLOCKS RECORD
4DKL ADX 7 2
4F5= SBN 7 1
4FJW MHUNT 1,FI,FINDEXF [ MOVE IN INDEX RECORD.
4G4G LDN 6 A1(1)
4GJ6 SMO A1(1)
4H3Q MOVE 6 0
4HHB ADX 7 A1(1)
4J32 SMO FX1
4JGL LDN 6 TRAPMAST [ MASTER'S TRAP
4K2= MOVE 6 6 [ + ZERO WORD
4K67 ... LDN 6 A1(3)
4K=4 ... LDN 7 A1+256(3)
4K*^ ... MOVE 6 256 [MOVE TO 2ND HALF OF ENTRY
4KFW SMO BFILE
4K^G LDX 2 FPTR
4LF6 CHAIN 1,2
4LYQ #SKI K6BMINDEX>199-199
4MDB BLOCKTRA 3,MAS DE
4MY2 WRITEAUT FAIL+FREE,BSBS [ WRITE AWAY BLOCK
4NCL BRN UP
5RJL MENDAREA 30,K99BMXEND
5S4= #END
^^^^ ...23110333000200000000