BMXEND7

(George Source)

Macros used: BACKSPACE, BACKWAIT, BS, CHAIN, FASTREWIND, GEOERR, INSERT, MENDAREA, MFREEW, MHUNT, MHUNTW, NAME, PSTAC, REPLACE, SEGENTRY, SETNCORE, SETREP, SKIP, STEP, STEPAGAIN, STEPREWRITE, SUBSTITUTE, TOPFCA2, TOPFCB2, TRACE, UP

BMXEND7.txt
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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1