SPUNLOAD867

(George Source)

Macros used: BXE, CLOSE, DELETE, ENDCOM, ERROR, FREECORE, FREEPER, GEOERR, GSCAN, HUNTW, MENDAREA, MFREE, MHUNTW, NBREAKIN, OPEN, SEGENTRY, SETNCORE, SIX, SPARANOX, STEP, UNIFREE

SPUNLOAD867.txt
22FL    #OPT  K0SPUNLOAD=0  
22^=    #LIS  K0SPUNLOAD>K0LIBRARY>K0ALLGEO>K0COMMAND   
23DW    #SEG  SPUNLOAD8                    [LEN WAGSTAFF
23NN ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983.   
23YG                   8HSPUNLOAD   
24D6    #     THIS SEGMENT DEALS WITH THE UNLOADING OF SLOW 
24XQ    #     PERIPHERALS(LOCAL OR REMOTE). 
25CB    #     ON ENTRY THE CPAT IS FOLLOWED BY A STRING OF CPAR/JSCE BLOCKS WHIC
25X2    #     CONTAIN DESCRIPTIONS OF SLOW PERIPHERALS TO BE UNLOADED.INFORMATIO
26BL    #     IN EACH CPAR/JSCE BLOCK IS ANALYSED.IF PERIPHRAL LOCAL A SEARCH IS
26W=    #     MADE IN SYSTEM.DOCUMENT.IF RECORD FOUND THEN IT IS
27*W    #     DELETED AND THE PERIPHERAL IS FREED.IF NOT A SEARCH   
27TG    #     IS MADE THROUGH THE SLOW QUEUE FOR A CPAT IN APROPRIATE   
28*6    #     WAITING STYLE.IF REMOTE PERIPHERAL THEN SYSTEM.DOCUMENT   
28SQ    #     IS NOT SEARCHED.  
29#B          SEGENTRY K1SPUNLOAD,Z1SPUNLOAD
29S2    PARAS STOZ   6  
2=?L          SBX   7  FX1  
2=DS          MHUNTW   3,CPAR,JSCE         [LOCATE CPAR:JSCE BLOCK  
2=L2          LDX   5  JSCEQ(3)            [PARAM NO WORD   
2=R8          FREECORE 3                   [FREE BLOCK  
2=YB          SRL   5  12                  [ISOLATE PARAM NO
2?5J          SPARANOX 5,6                 [REACCESS PARAM  
2?=W          ADX   7  FX1  
2?QG          EXIT  7  0
2#=6    SPNAME         +10  
2#PQ                   12HSYSTEM
2*9B                   12HDOCUMENT  
2*P2                   +0   
2B8L                   +1   
2BN=                   4HB1 
2C7W    SIX            +6   
2CMG    X12            #12  
2D76    X21            #21  
2DLQ    X22            #22  
2F6B    X24            #24  
2FL2    XHDD           4HHDDR   
2G5L    X44            #44  
2GK=    X40            +IWTDEST 
2H4W    #SKI  IPL   
2HJG    XIPL           +IPLJOBFIN   
2J46    Z1SPUNLOAD  
2JHQ    R2    HUNTW    3,CPAR,JSCE  
2K3B          BNG   3  R1                  [IF NOT EXISTENT - ENDCOM
2KH2          LDCH  0  JSCEB(3) 
2L2L          SRL   0  3
2LG=          BNZ   0  STOP1               [J. TO STOP1 IF PERIPHERAL NOT   
2L^W    #                                  [LOCAL   
2MFG    #                                  [LOCAL PERIPHERAL
2M^6          LDEX  4  JSCEA(3)            [GEO NO O E LOCAL PERIPHERAL 
2NDQ          STO   4  AWORK1(2)
2NYB          STOZ     AWORK4(2)           [0 FOR LOCAL 
2PD2    S20 
2PXL          SETNCORE 10,3,FILE,FABSNB 
2QC=          ADN   3  A1   
2QWW          LDN   2  SPNAME(1)
2RBG          MOVE  2  10   
2RW6          OPEN     ZBRKERR,GENERAL  
2S*Q          MFREE    FILE,FABSNB         [FREE BLOCK  
2STB    Z20   STEP  
2T*2          BZE   3  STOP 
2TSL          LDX   0  1(3) 
2W#=          BZE   0  Z20  
2WRW          TXU   0  XHDD(1)             [MAG TAPE RECORD 
2X?G          BCC      Z20  
2X*#    Z10 
2Y8G          ADX   3  0(3)                [X3 NOW CONTAINS ADDRESS OF  
2Y=Q          SBN   3  1                   [LAST WORD IN THE BLOCK  
2YQB    #                                  [2ND PERIPHERAL WORD 
2^=2          LDEX  6  0(3)                [GEOG. NO.   
2^PL          TXU   6  4
329=          BCS      Z20                 [JUMP IF GEOG. NO. NOT ONE   
32NW    #                                  [REQUIRED
338G          DELETE                       [DELETE RECORD   
33N6          CLOSE 
347Q    XFREE   
34MB          HUNTW    3,CPAR,JSCE  
3572          LDX   0  JSCEP(3)            [DEVICE LIST POINTER 
35LL          STO   0  CPPTR(2) 
366=          FREEPER                      [FREE LOCAL PERIPHERAL   
36KW          BRN      TEND 
375G    STOP1                              [NOT LOCAL   
37K6          LDN   0  1
384Q          STO   0  AWORK4(2)
38JB          LDCH  0  JSCEB(3) 
3942          SRC   0  4
39HL          BPZ   0  W1W                 [J IF DEVICE ON 7900 ELSE DEVICE ON  
3=3=    #                                  [7007
3=GW          LDX   6  JSCEA(3)            [BAS.DEV.TYPE,TERMINAL IDE,INTERFACE 
3?2G          STO   6  AWORK2(2)           [NUMBER  
3?G6          BRN      STOP2
3?^Q    W1W   LDX   0  JSCEA(3) 
3#FB          ANDN  0  #7777
3#^2          STO   0  AWORK2(2)           [IDENTIFIER  
3*DL          BRN      STOP2
3*Y=    STOP  CLOSE 
3BCW    STOP2 LDN   7  FLOWQ
3BXG          LDX   3  FLOWQ
3CC6          BRN      TTT  
3CWQ    SSS   LDX   3  CHAINADD(3)  
3DBB    TTT   TXU   3  7
3DW2          BCC      XEND 
3F*L          SBN   3  CHAINADD            [GET BLOCK DATUM 
3FFH          LDCH  6  ATYPE(3)            [CHECK BLOCK TYPE
3FKD          SBN   6  CPAT/64  
3FP*          BNZ   6  SSS                 [NOT A CPAT  
3FT=          LDCH  0  JSOURCE1(3)         [BASIC TYPE  
3G#W          SBN   0  #77                 [J IF CONSOLE
3GSG          BZE   0  SSS  
3H#6          LDX   0  AWORK4(2)
3HRQ          BNZ   0  W2W                 [J. IF NOT LOCAL 
3J?B    #                                  [LOCAL PERIPHERAL
3JR2          LDEX  0  JSOURCE1(3)  
3K=L          BZE   0  SSS  
3KQ=          SBX   0  AWORK1(2)
3L9W          BNZ   0  SSS  
3LPG          BRN      W4W                 [CORRECT GEOG. NO.   
3M96    W2W                                [REMOTE PERIPHERAL   
3MNQ          STOZ     5                   [CORRECT GEOG. NO.   
3N8B          LDX   6  JSOURCE2(3)  
3NN2          BPZ   6  SSS  
3NT8P...#SKI  JSKI04<1$1
3P2BP...(   
3P7L          SLL   56 3
3PM=          SBN   5  6
3PR7P...)   
3PX4P...#SKI  JSKI04                       [COMMAND ISSUERS 
3Q2^P...(   
3Q6WP...      SLL   56 2
3Q=RP...      SBN   5  3
3QBNP...)   
3QGK          BZE   5  W3W                 [J. IF IPB OR CI 
3QLG          LDX   5  JSOURCE1(3)         [7007
3R66          ERX   5  AWORK2(2)           [COMPARE 3 LEAST SIGN CHS
3RKQ          BNZ   5  SSS  
3S5B          BRN      W4W                 [CORRECT INTERFACE NO AND TERM.  
3SK2    W3W   LDX   0  JSOURCE1(3)  
3T4L          ANDN  0  #7777
3TJ=          SBX   0  AWORK2(2)
3W3W          BNZ   0  SSS  
3WHG    W4W   LDEX  6  ATYPE(3) 
3YG2          TXU   6  X44(1)   
3Y^L          BCC      XMEET               [WAITING ON JOBLIMIT 
3^F=          TXU   6  SIX(1)              [WAITING FOR FILE TO BECOME  
3^YW          BCC      XMEET               [AVAILABLE   
42DG          TXU   6  X12(1)              [FILE TO BE ERASED   
42Y6          BCC      XMEET
43CQ          TXU   6  X21(1)              [BS JAM TO BE CLEARED
43XB          BCC      XMEET
44C2          TXU   6  X24(1)              [FILE TO BE RETRIEVED
44WL          BCC      XMEET
45B=          TXU   6  X40(1)              [GDR TO FREE BS BLOCK
45TW          BCC      XMEET
46*G    #SKI  IPL   
46T6          BXE   6  XIPL(1),XMEET       [7600 JOB LIMIT  
47#Q          TXU   6  X22(1)              [DUMPER TO FINISH
47SB          BCS      SEND                [DUMPING 
48#2    XMEET LDX   6  JOBNO(3) 
48RL          GSCAN    JSOURCE1(3),UNLOADED,3   
48T*    #UNS ENBREAKIN  
48X4    (   
48YR          NBREAKIN 3,9,SEND            [BREAK-IN ON CPA 
492G                                       [IF BREAK-IN REJECTED,GO TO SEND 
4949    )   
495Y    #UNS ENBREAKIN  
497M    #SKI
499B    (   
49?=          NBREAKIN 3,9                 [BRK-IN ON CPA   
49QW          BRN      SEND 
4=2N    )   
4==G    TEND  HUNTW    3,CPAR,JSCE  
4=Q6          FREECORE 3                   [FREE THE ANALYSED CPAR/JSCE BLOCK   
4?9Q          BRN      R2                  [AND TRY TO FIND ANOTHER IF IT EXISTS
4?PB    XCANT GEOERR   1,CANTWAKE   
4#92    XEND
4#NL    SEND  CALL  7  PARAS
4*8=          ERROR    JRES                [PERIPHERAL NOT IN REQUIRED STATE
4*GM          UNIFREE                      [FREE  CPB,CUNI BLOCK
4*T4          BRN      R2   
4B7G    ZBRKERR 
4BM6          GEOERR   1,BREAKIN
4C6Q    NODEV   
4CLB          GEOERR   1,NODEVLIS   
4D62    R1    ENDCOM
4DKL          MENDAREA 20,K99SPUNLOAD   
4F5=    #END
^^^^ ...31473100000100000000