BRADSPLT867

(George Source)

Macros used: ACROSS, CLOSEWR, DEMMESS, DOWN, EXOFILE, FREECORE, GEOERR, HUNT, INFORM, LADDP, MFINDSU, MHUNT, MHUNTW, NAME, OPENST, READST, RELST, SEG, SEGENTRY, SETALLOC, SETNCORE, TESTREP, TESTREPNOT, TRACE, UNLOCKSU, UP

BRADSPLT867.txt
22FL          SEG  BRADSPLT,860,FRANK BLUNDELL,BRADSPLT 
22^=    #     (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23DW    #   
23YG    #     ********************************  
24D6    #     *BRADFORD UNIVERSITY SCF SYSTEM*  
24XQ    #     ********************************  
25CB    #   
25X2          SEGENTRY K1BRADSPLT,Q1BRADSPLT
26BL          SEGENTRY K98BRADSPLT  
26W=    BRADSPLTINF    +0,+0,+0         [NAME   
27*W                   +0               [TYPE B0-5  
27TG                   +0               [CSN OF DISC IF GIVEN   
28*6    ZCCTABLE
28SQ    #HAL BSTB+CCTABLE,0 
29#B    ZALFTABLE   
29S2    #HAL BSTB+ALFTABLE,0
2=?L    ZFDTABLE
2=R=    #HAL BSTB+FDTABLE,0 
2?=W    XN1            #77000000
2?QG    Y              #71  
2#=6    N              #56  
2#PQ    XSUITA         +FIFSFAS         [ >1 FILE AREA  
2*9B    XSUITB         +FIFSFIC         [FIC SEPARATED FROM FILE AREA   
2*P2    XSUITC         +FIFSRET         [RETENTION PEROOD NOT EXPIRED   
2B8L    XSUITD         +FIFSSYF         [SYFLE BIT SET  
2BN=    XSUITE         +FIFSBUCK        [BUCKET > 1 BLOCK   
2C7W    WANT           +10,36HDO YOU WISH TO USE THE SCF SYSTEM 
2CMG    NAME           +7,24HGIVE NAME OF FILE TO USE   
2D76    TYPE           +13,48HGIVE DEVICE TYPE(DA=UDAS,DR=1964 DRUM,HD=HSD) 
2DLQ    ZTPE           #41,#62,#44  
2F6B    ZTPEX          #44,#50  
2FL2    ZDEV           +0   
2G5L    #FID 0,5,+6 
2GK=                   +0   
2H4W    #FID 0,5,+9 
2HJG                   +0   
2J46    #FID 0,5,+25
2JHQ    #   
2K3B    #   
2KH2    Q1BRADSPLT  
2L2L          SEGENTRY K95BRADSPLT  
2LG=          BRN      XHE  
2L^W          SETNCORE GEXDLEN,3,EWDAS,GEXD 
2MFG          SETNCORE FIRLEN+FIRSS,1,BSTB,FSTAB
2M^6          SMO      FX1  
2NDQ          LDX   0  BRADSPLTINF  
2NYB          TRACE 0,FILENAME  
2PD2          BZE   0  ZASKNAME         [INFO NOT GIVEN IN CHAPTER  
2PXL          SMO      FX1  
2QC=          LDN   0  BRADSPLTINF      [DATA FOR FILE IN CHAPTER   
2QWW          ADN   1  FIRSS            [MOVE TO DATA ADDRESS   
2RBG          MOVE  0  5                [MOVE IT INTO DATA BLOCK
2RW6          LDN   7  0                   [REQUIRED BECAUSE OF COMMON ERROR
2S*Q                                       [PATHS IN FSERR. USED IN SMO 
2STB    ZRETRY  
2T*2          MHUNTW 1,BSTB,FSTAB   
2TSL          MHUNTW 3,EWDAS,GEXD   
2W#=          LDCH  0  FIRSS+3(1)       [GET TYPE   
2WRW          SBN   0  6
2X?G          BZE   0  T1   
2XR6          SBN   0  7
2Y=Q          BZE   0  T1               [JUMP IF DISC   
2YQB    #   
2^=2    #   
2^PL    #     DRUM  PART
329=    #   
32NW          SETNCORE BBUFF+129-A1,3,EWDAS,FDRUM   
338G          MHUNTW   1,BSTB,FSTAB 
33N6          LDX   0  FIRSS+3(1)   
347Q          SMO      FX1  
34MB          ANDX  0  XN1  
3572          STO   0  AGTYPE(3)
35LL          ADN   3  ANAME
366=          LDN   2  FIRSS(1) 
36KW          MOVE  2  3                [MOVE IN FILENAME   
375G    U9    DOWN     FINDRUM,1        [FIND THE FILE  
37K6          TESTREPNOT   OK,S1        [JUMP IF ERROR  
384Q    #   
38JB    #              DRUM FILE NOW OPEN   
3942    #              STORE INFO IN CCTABLE
39HL    #   
3=3=          MHUNTW   3,EWDAS,FDRUM
3=GW          TRACE EXBSP+2(3),DRUMOPEN 
3?2G          MHUNTW   1,BSTB,FSTAB 
3?G6          LDX   2  BINDEX           [POINTER TO CCTABLE 
3?^Q          LDX   0  ATYPE(2)         [BLOCK TYPE 
3#FB          SMO      FX1  
3#^2          TXU   0  ZCCTABLE 
3*DL          BCC      ZCCTBLOCK
3*Y=          GEOERR 1,SPLITF03         [NOT CORRECT BLOCK  
3BCW    ZCCTBLOCK   
3BXG          LDX   0  ALOGLEN(2)       [WORK SIZE  
3CC6          SBN   0  12               [2*DISC INFO SIZE   
3CWQ          BPZ   0  ZCCTSIZE 
3DBB          GEOERR 1,SPLITF04         [TOO SMALL A BLOCK  
3DW2    ZCCTSIZE
3F*L          LDN   6  6                [OFFSET TO SECOND BLOCK OF INFO 
3FT=          LDX   0  AGTYPE(3)
3G#W          SMO      6
3GSG          STO   0  A1(2)            [TYPE   
3H#6          LDX   0  EXBSP+1(3)   
3HRQ          SMO      6
3J?B          STO   0  A1+1(2)          [DATUM  
3JR2          LDX   0  EXBSP+2(3)   
3K=L          SMO      6
3KQ=          STO   0  A1+2(2)          [LENGTH 
3L9W          ADX   6  2                [X6 POINTS TO SECOND PART O  CTABLE 
3LPG          LDX   1  FPTR(2)          [SHOULD GET ALFTABLE
3M96          LDX   0  ATYPE(1)         [BLOCK TYPE 
3MNQ          SMO      FX1  
3N8B          TXU   0  ZALFTABLE
3NN2          BCC      ZALFBLOCK
3P7L          GEOERR 1,SPLITF05         [NOT ALFTABLE BLOCK 
3PM=    ZALFBLOCK   
3Q6W          LDX   2  FPTR(1)          [SHOULD GET FDTABLE 
3QLG          LDX   0  ATYPE(2)         [BLOCK TYPE 
3R66          SMO      FX1  
3RKQ          TXU   0  ZFDTABLE 
3S5B          BCC      ZFDBLOCK 
3SK2          GEOERR 1,SPLIT06          [NOT FDTABLE BLOCK  
3T4L    ZFDBLOCK
3TJ=          LDX   4  BLMP             [HIGHEST RES + 1
3W3W          SBN   4  1                [NUMBER OF HIGHEST RES  
3WHG    R2    LDX   5  A1(1)
3X36          BNG   5  R1               [NON EXISTANT   
3XGQ          ANDN  5  #7777
3Y2B          SMO      5
3YG2          LDX   0  A1+1(2)  
3Y^L          SMO      6
3^F=          TXU   0  A1+1 
3^YW          BCS      R1               [JUMP IF DATUM DIFFERENT
42DG          LDX   0  A1(1)
42Y6          SRL   0  12   
43CQ          ANDN  0  #1777            [CHECK  BSUN
43XB          TXU   0  EXBSP(3) 
44C2          BCC      S4               [JUMP - FILE USED BEFORE
44WL    R1    ADN   1  2
45B=          BCT   4  R2   
45TW          LDX   4  EXBSP(3)         [BSUN   
46*G          TRACE 4,DRUMBSUN  
46T6          STO   4  BRADSPLTBSU      [SET 2ND BSUN FOR GEORGE
47#Q          SETALLOC ADRDLIST(3)      [MARK DEVICE IN USE 
47SB          LDX   4  ADRDLIST(3)  
48#2          STO   4  GEOSCFPTR
48RL          FREECORE 3                [RELEASE EWDAS-FDRUM
49?=          BRN      ZCOMPL   
49QW    #   
4==G    #     DISC  PART
4=Q6    #   
4?9Q    T1    SETNCORE FDCELLS-A1,3,EWDAS,EXOF  
4?PB          MHUNTW   1,BSTB,FSTAB 
4#92          LDN   0  BOPEN+BSPEC  
4#NL          STO   0  EXMARK(3)        [SET OPEN MARKERS   
4*8=          STOZ     FIP+4(3)         [GENERATION NUMBER  
4*MW          LDN   5  FIP(3)   
4B7G          LDN   4  FIRSS(1) 
4BM6          MOVE  4  3                [MOVE IN FILENAME   
4C6Q          LDX   4  FIRSS+4(1)   
4CLB          BZE   4  T2               [JUMP IF NOT SPECIFIED  
4D62          STO   4  ASUSN(3) 
4DKL          LDN   0  BSERL+BSUPP      [SERIAL NO. GIVEN-SUPPRES REQUEST IF NOT
4F5=          ORS   0  EXMARK(3)
4FJW    T2    DOWN     EXOPEN,1         [OPEN FILE  
4G4G          TESTREPNOT   OK,S2
4GJ6    #   
4H3Q    #              DISC FILE NOW OPEN   
4HHB    #              STORE INFO IN CCTABLE
4J32    #   
4JGL          MHUNTW   3,EWDAS,EXOF 
4K2=                                    [START CHECKS ON FILE   
4KFW          TRACE ASUSN(3),DISCFILE   
4K^G          LDEX  0  FIP+5(3) 
4LF6          SBN   0  1
4LYQ          BNZ   0  S3FAREA          [MUST BE ONLY ONE FILE AREA 
4MDB          LDX   0  FDCELLS(3)   
4MY2          TXU   0  ASUSN(3) 
4NCL          BCS      S3ASFIC          [FILE AREA MUST BE ON SAME UNIT AS FIC  
4NX=          LDX   0  FIP+7(3) 
4PBW          SRL   0  12               [RETENTION PERIOD   
4PWG          ADX   0  FIP+6(3)         [DATE WRITTEN   
4QB6          LDX   4  EDATE
4QTQ          TXL   4  0
4R*B          TXL   4  FIP+6(3)            [IS DATE WRITTEN LATER THAN CURRENT  
4RT2          BCS      T9                  [DATE? J IF SO TO MISS RP CHECKS 
4S#L          BCS      S3RETN           [RETENTION PERIOD NOT EXPIRED   
4SS=    T9    LDCT  0  #100 
4T?W          ANDX  0  FIP+5(3) 
4TRG          BNZ   0  S3SYFLE          [SYFLE BIT SET  
4W?6          LDX   0  FIP+8(3) 
4WQQ          ANDN  0  #77              [BUCKET SIZE
4X=B          SBN   0  1
4XQ2          BNZ   0  S3BUCK           [BUCKET NOT ONE.
4Y9L          LDN   1  BCCB             [CHECK IF THIS FILE SPECIFIED BEFORE
4YP=    T4    LDX   1  BPTR(1)  
4^8W          TXU   1  CXCC 
4^NG          BCC      T3               [END OF CHAIN   
5286          LDX   0  BACK2(1) 
52MQ          BZE   0  T3               [NO1MORE EXOFS  
537B          LDX   0  ASUSN(1) 
53M2          TXU   0  ASUSN(3) 
546L          BCS      T4               [JUMP IF SERIAL NUMBERS DIFFERENT   
54L=          LDX   0  HOME(1)  
555W          TXU   0  HOME(3)  
55KG          BCS      T4               [JUMP IF BS HOMES DIFFERENT 
5656          BRN      S4               [FILE USED TWICE
56JQ    T3    LDX   0  EDATE            [UPDATE  FIP
574B          STO   0  FIP+6(3)         [DATE WRITTEN   
57J2          LDX   0  FIP+4(3) 
583L          ANDN  0  #7777            [VERSION NUMBER 
58H=          ADN   0  1
592W          DSA   0  FIP+4(3) 
59GG          LDX   2  3
5=26          MHUNTW   3,EWDAS,GEXD 
5=FQ          OPENST   ASUSN(2)         [OPEN UNIT  
5=^B          READST   HOME(2),T5       [READ DOWN FIP CELL 
5?F2          TESTREP  OK,T7            [JUMP IF OK 
5?YL          TESTREP  EXFAIL,S5        [OR FAIL
5#D=    T8    GEOERR   1,SPLITF07   
5#XW    T7    LDX   1  ECOR(3)  
5*CG    T5    MHUNTW   2,EWDAS,EXOF 
5*X6          ADN   1  2
5BBQ          LDN   0  FIP(2)   
5BWB          MOVE  0  15               [MOVE IN NEW FIP
5CB2          CLOSEWR  W,HOME(2)        [REWRITE FIP CELL AND CLOSE UNIT
5CTL          TESTREP  OK,T6            [JUMP IF  OK
5D*=          TESTREPNOT   EXFAIL,T8
5DSW          BRN      S5   
5F#G    T6    MHUNTW   3,EWDAS,EXOF 
5FS6          LDN   0  1
5G?Q          STO   0  COPEN(3)         [COUNT OF OPENS=1   
5GRB          LDCT  0  #500 
5H?2          STO   0  EXMARK(3)        [OPEN FOR WRITING AND SYSTEM BITS   
5HQL          MFINDSU  1,ASUSN(3)   
5J==                                    [START REORGANISING FDCELL  
5JPW          LDX   5  ABSUN(1)         [GET BSUN FOR LATER 
5K9G          TRACE 5,DISCBSUN  
5KP6          STO   5  BRADSPLTBSU      [SET 2ND BSU FOR GEORGE 
5L8Q          LDX   4  HUNIT(1)         [AND D.L. PTR   
5LNB          LDX   2  BINDEX           [POINTER TO CCTABLE 
5M82          LDX   0  ATYPE(2)         [BLOCK TYPE 
5MML          SMO      FX1  
5N7=          TXU   0  ZCCTABLE 
5NLW          BCC      YCCTBLOCK
5P6G          GEOERR 1,SPLITF08         [NOT CCTABLE
5PL6    YCCTBLOCK   
5Q5Q          LDX   0  ALOGLEN(2)       [WORK SIZE  
5QKB          SBN   0  12               [2*DISC INFO SIZE   
5R52          BPZ   0  YCCSIZE  
5RJL          GEOERR 1,SPLITF09         [BLOCK TOO SMALL
5S4=    YCCSIZE 
5SHW          LDN   6  6                [OFFESET FOR INNFO  
5T3G          LDX   0  HTYPE(1) 
5TH6          SMO      6
5W2Q          STO   0  A1(2)
5WGB          LDX   0  FDCELLS+1(3) 
5X22          ADX   0  ASUBASE(1)       [START OF UNIT  
5XFL          SMO      6
5X^=          STO   0  A1+1(2)  
5YDW          LDN   0  FDCELLS+2(3) 
5YYG          SMO      6
5^D6          LDN   1  A1+2(2)  
5^XQ          MOVE  0  3
62CB          NGNC  0  1
62X2          SMO      6
63BL          ANDS  0  A1+3(2)  
63W=          LDX   0  FDCELLS(3)   
64*W          SMO      6
64TG          STO   0  A1+5(2)  
65*6          LDX   2  4               [D.L. PTR
65SQ          STO   2  GEOSCFPTR
66#B          LDCT  0  #400 
66S2          LADDP 2,1                 [ADDITIONAL DEVICE INFO AREA
67?L          ORS   0  BSUNIT2(1)       [MARK IN USE BY TH SYSTEM   
67R=          EXOFILE 3                 [CHAIN INTO EXOFILE LIST
68=W          LDX   4  ASUSN(3) 
68QG          UNLOCKSU 4         [UNLOCK SO OTHER ACTIVITIES CAN USE
69=6          RELST    4
69PQ    ZCOMPL  
6=9B          MHUNT 3,EWDAS,GEXD
6=P2          FREECORE 3
6?8L          MHUNT 1,BSTB,FSTAB
6?N=          FREECORE 1
6#7W          HUNT 3,EWDAS,EWMESS   
6#MG          BNG   3  OPENCOMPL
6*76          FREECORE 3
6*LQ    OPENCOMPL   
6B6B    #   
6BL2    #     OPENING OF THE SCF IS NOW COMPLETE
6C5L    #   
6CK=    #   
6D4W    #   
6DJG          ACROSS BRADDATA,1 
6F46    #   
6FHQ    #     NO NAME GIVEN OR FILE INVALID 
6G3B    #   
6GH2    ZASKNAME
6H2L    #SKI  EMSJNL
6HG=          DEMMESS  FIFSWANT 
6H^W    #SKI  EMSJNL<1$1
6JFG          DEMMESS WANT              [ASK IF ANOTHER FILE
6J^6          HUNT 3,CONBUFF,EMSIN      [FIND REPLY 
6KDQ          BPZ   3  ZOK  
6KYB          GEOERR 1,SPLITF18         [NO REPLY BLOCK 
6LD2    ZOK   LDCH  4  A1+1(3)          [REPLY CHAR 
6LXL          FREECORE 3                [FREE REPLY BLOCK   
6MC=          TXU   4  N(1) 
6MWW          BCC      TIDY             [RELPY NO SO TERMINATE  
6NBG          TXU   4  Y(1) 
6NW6          BCS      ZASKNAME         [REPLY NOT N OR Y SO REPEAT 
6P*Q    #SKI  EMSJNL
6PTB          DEMMESS  FIFSNAME 
6Q*2    #SKI  EMSJNL<1$1
6QSL          DEMMESS NAME              [ASK FOR FILE NAME  
6R#=          HUNT 3,CONBUFF,EMSIN      [GET REPLY BLOCK
6RRW          BPZ   3  NOKY 
6S?G          GEOERR 1,SPLITF19         [NOT REPLY BLOCK
6SR6    NOKY  HUNT 1,BSTB,FSTAB         [OPEN INFO BLOCK
6T=Q          BPZ   1  YOKY 
6TQB          GEOERR 1,SPLITF20         [LOST THE BLOCK 
6W=2    YOKY  LDX   6  ACES 
6WPL          STO   6  FIRSS(1) 
6X9=          STO   6  FIRSS+1(1)   
6XNW          STO   6  FIRSS+2(1)       [SPACE FILL AREA
6Y8G          LDN   4  A1+1(3)          [START ADD  
6YN6          LDN   5  FIRSS(1)         [DEP ADD
6^7Q          LDX   2  A1(3)            [LENGTH IN CHARS
6^MB          MVCH  4  0(2) 
7272          FREECORE 3
72LL    #SKI  EMSJNL
736=    ZATPE DEMMESS  FIFSTYPE 
73KW    #SKI  EMSJNL<1$1
745G    ZATPE DEMMESS TYPE              [ASK FOR DEVICE TYPE
74K6          HUNT 3,CONBUFF,EMSIN      [FIND REPLY 
754Q          BPZ   3  XOKY 
75JB          GEOERR 1,SPLITF21         [LOST REPLY 
7642    XOKY  HUNT 1,BSTB,FSTAB         [OPEN BLOCK 
76HL          BPZ   1  POKY 
773=          GEOERR 1,SPLITF22         [LOST THE BLOCK 
77GW    POKY  LDCH  4  A1+1(3)          [REPLY CHAR 
782G          LDX   6  3
78G6          SMO      FX1  
78^Q          TXU   4  ZTPEX
79FB          BCC      ZCKY 
79^2          SMO      FX1  
7=DL          TXU   4  ZTPEX+1  
7=Y=          BCS      ZATPE
7?CW    ZCKY  BCHX  3  £
7?XG          LDCH  4  A1+1(3)  
7#C6          LDN   2  3                [NUMBER OF VALID REPLIES
7#WQ    NXTT  SMO      FX1  
7*BB          TXU   4  ZTPE-1(2)        [U,S,D  
7*W2          BCC      PFND             [JUMP IF A MATCH
7B*L          BCT   2  NXTT             [TRY NEXT   
7BT=          BRN      ZATPE            [NOT A VALID REPLY ASK AGAIN
7C#W    PFND  SMO      FX1  
7CSG          LDX   4  ZDEV-1(2)        [DEVICE TYPE IN B0:5
7D#6          STO   4  FIRSS+3(1)       [STORE TYPE 
7DRQ          STOZ     FIRSS+4(1)       [NO CSN GIVEN   
7F?B          FREECORE 6                [LOSE REPLY BLOCK   
7FR2          BRN      ZRETRY           [TRY AGAIN TO OPEN SCF  
7G=L    #   
7GQ=    #     TIDY UP   
7H9W    #   
7HPG    TIDY  HUNT 3,EWDAS,GEXD 
7J96          BNG   3  XHA  
7JNQ          FREECORE 3
7K8B    XHA   HUNT 3,BSTB,FSTAB 
7KN2          BNG   3  XHB  
7L7L          FREECORE 3
7LM=    XHB   HUNT 3,EWDAS,EXOF 
7M6W          BNG   3  XHC  
7MLG          FREECORE 3
7N66    XHC   HUNT 3,EWDAS,EWMESS   
7NKQ          BNG   3  XHD  
7P5B          FREECORE 3
7PK2    XHD   HUNT 3,EWDAS,FDRUM
7Q4L          BNG   3  XHE  
7QJ=          FREECORE 3
7R3W    XHE   INFORM 1,BRADSPT1,1   
7RHG          UP                        [NO SCF IN USE NOW  
7S36    #     FILE  NOT SUITABLE FOR FILESTORE  
7SGQ    #     OR FILE USED TWICE
7T2B    #     OUTPUT APPROPRIATE MESSAGE AND GO BACK FOR NEXT FIE   
7TG2    #   
7T^L    S3FAREA 
7WF=          SMO      FX1  
7WYW          LDX   3  XSUITA   
7XDG          BRN      S3AB 
7XY6    S3ASFIC 
7YCQ          SMO      FX1  
7YXB          LDX   3  XSUITB   
7^C2          BRN      S3AB 
7^WL    S3RETN  
82B=          SMO      FX1  
82TW          LDX   3  XSUITC   
83*G          BRN   S3AB
83T6    S3SYFLE 
84#Q          SMO      FX1  
84SB          LDX   3  XSUITD   
85#2          BRN      S3AB 
85RL    S3BUCK  
86?=          SMO      FX1  
86QW          LDX   3  XSUITE   
87=G    #   
87Q6    S3AB  STO   3  AWORK2(2)
889Q          DOWN     FSERR,1  
88PB          BRN      ZASKNAME 
8992    #   
89NL    S4    DOWN     FSERR,2  
8=8=          BRN      ZASKNAME 
8=MW    #   
8?7G    #   
8?M6    #     FAILURE  TO OPEN FILE,OR FAIL WHILST REWRITING FIP
8#6Q    #   
8#LB    #   
8*62    #   
8*KL    #   
8B5=    S5    DOWN     FSERR,3  
8BJW          BRN      ZASKNAME            [UP  FILE NOT AVAILABLE  
8C4G          BRN      U8                  [UPPLUS 1  AVAILABLE 
8CJ6    #   
8D3Q    #     NOT OK REPLY FROM FINDRUM 
8DHB    #   
8F32    S1    TESTREPNOT NOTFOUND,S2A   
8FGL          DOWN     FSERR,8  
8G2=          BRN      ZASKNAME            [UP FILE NOT AVAILABLE   
8GFW          BRN      U8                  [UPPLUS 1 AVAILABLE  
8G^G    S2A   GEOERR   1,SPLITF01   
8HF6    S2    TESTREPNOT   EXFAIL,S2A   
8HYQ          DOWN     FSERR,5  
8JDB          BRN      ZASKNAME            [UP FILE NOT AVAILABLE   
8JY2    #   
8KCL    #     UPPLUS 1 FROM FSERR FILE IS AVAILABLE 
8KX=    #   
8LBW    U8  
8LWG          MHUNTW   1,BSTB,FSTAB 
8MB6          LDX   0  FIRSS+3(1)   
8MTQ          SRL   0  18   
8N*B          SBN   0  6                [EDS
8NT2          BZE   0  T2   
8P#L          SBN   0  7                [EDS
8PS=          BZE   0  T2   
8Q?W          BRN      U9               [DRUMS  
8QRG    #END
^^^^ ...630165140001
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1