UNLOADMT867

(George Source)

Macros used: BS, BXU, CHAIN, CLALLOC, CLCOUNT, CLDRM, CLOSE, CLOSETOP, COOR1, COOR3, DCA, DELETE, DFCLEAR, DFJUMPN, DFJUMPS, DFLOAD, FDTENT, FPUT, FREEMT, GEOERR, GETACT, GPERI, HUNTW, JALLOC, JBCC, JBS, JCERRCT, JENVNOT, LCERRS, LFAILS, LGEOG, LGPERIS, LINKSET, LOBJPERIS, LOCKC, LONGON, LREPEATS, MENDAREA, MFREE, MHUNT, MONOUT, MTINFORM, OPENSYS, OUTNUM, OUTPACK, OUTPACKB, OUTPAR, OUTPARB, PAIR, READAGAIN, SDSEARCH, SEGENTRY, SETALLOC, SETELOG, SKIP, STARTACT, SUICIDE, SWITRACE, TREP, UNLOCK, UP

UNLOADMT867.txt
22FL    #LIS  K0UNLOADMT>K0LIBRARY>K0ALLGEO 
22^=    #SEG           UNLOADMT65          [N.R.BOULT   
23DW                   8HUNLOADMT   
23JR ...[   
23NN ...[  (C)   COPYRIGHT  INTERNATIONAL COMPUTERS LTD  1982   
23SK ...[   
23YG          SEGENTRY K1UNLOADMT,QK1UNLOADMT   
24D6          SEGENTRY K2UNLOADMT,QK2UNLOADMT   
24XQ    #   
25CB    #   
25X2    #     THIS SEGMENT HANDLES THE FREEING (FOR USE BY OTHER
26BL    #     ACTIVITIES) AND UNLOADING OF MAGNETIC TAPES   
26W=    #   
27*W    #   
27TG    #     CONSTANTS 
28*6    #   
28SQ    TAUT           +AMTAUT  
29#B    TUNL           +AMTUNL  
29S2    TRET           +AMTRET  
2=?L    TREP           +AMTREP  
2=R=    TNSD           +AMTNSD  
2?=W    TWQ            #3400000 
2?QG    TLINK PAIR     UNLOADMT,2   
2#=6    TNONS          16HNONSTANDARD TAPE  
2#PQ    TMB            4HMT 
2*9B    #   
2*P2    #     LOCALS
2B8L    #   
2BN=    #   
2C7W    #     SUBROUTINES   
2CMG    #   
2D76 ...WAKE  LDX   1  AWORK1(2)
2DLQ          BZE   1  WA1                 [WAKING NOT REQUIRED 
2F6B          STO   0  AWORK1(2)           [SAVE LINK   
2FL2          LONGON   #61,AWORK3(2)
2G5L    WA3   LONGON   #61  
2GK= ...      LDX   0  AWORK1(2)           [RETRIEVE LINK   
2H4W ...WA1   EXIT  0  0
2HJG    #   
2J46    #                                  ENTRY POINT 1
2JHQ    QK1UNLOADMT 
2K3B          LDX   0  ACOMMUNE2(2) 
2KH2    #SKI  K6UNLOADMT>99-99  
2L2L          SWITRACE 0,ULMTMODE   
2LG=    #SKI  K6UNLOADMT>199-199
2L^W    (   
2MFG          SWITRACE ACOMMUNE1(2),ULMTDL  
2M^6          SWITRACE ACOMMUNE3(2),ULMTSEC 
2NDQ          SWITRACE ACOMMUNE4(2),ULMTSS5 
2NYB    )   
2PD2          ANDX  0  TAUT(1)  
2PXL          BZE   0  PH   
2QC=    #     J        SET UP AUTONOMOUS ACTIVITY   
2QWW          GETACT   ACTDOC,,1
2RBG          LDX   3  BPTR(2)  
2RW6          LINKSET  3,TLINK(1)          [LINK WORDS ...  
2S*Q          LDN   0  4                   [ACCUMULATORS ...
2STB          LDN   1  ACC4(3)  
2T*2          MOVE  0  4
2TSL          LDN   0  ACOMMUNE1(2)        [ACOMMUNES ...   
2W#=          LDN   1  ACOMMUNE1(3) 
2WRW          MOVE  0  6
2X?G          LDX   0  ACOMMUNE1(2) 
2XR6          BZE   0  PD   
2Y=Q          STO   0  CPPTR(3) 
2YQB          BRN      PD1  
2^=2    PD  
2^PL          CHANGEPE 3
329=    PD1 
32NW    #     K        START AUTONOMOUS ACTIVITY
338G          LDX   2  3
33N6          FPUT  
347Q    #     O        RETURN TO CALLING ACTIVITY   
34MB          UP
3572    PH  
35LL          LDX   0  ACOMMUNE1(2) 
366=          BZE   0  PH2  
36KW          STO   0  CPPTR(2) 
375G    PH2 
37K6    #                                  ENTRY POINT 2
384Q    QK2UNLOADMT 
38JB          LDX   0  ACOMMUNE2(2) 
3942          STO   0  AWORK2(2)
39HL          LDX   1  FX1  
3=3=          ANDX  0  TNSD(1)  
3=GW          BNZ   0  PAO                 [THROW WFF   
3?2G    #     I        OPEN :SYSTEM.DOCUMENT
3?G6    PI  
3?^Q          OPENSYS  XBRKIN,DOCUMENT,GENERAL  
3#FB    #     L        FIND RECORD IN DOCUMENT  
3#^2          SDSEARCH NOSD,CPPTR,CPPTR(2)  
3*DL    #     M        UNLOAD REQUIRED ?
3*Y=          LDX   0  AWORK2(2)
3BCW          ANDX  0  TUNL(1)  
3BXG          BNZ   0  PVF  
3CC6    #     N        TEST STATUS OF TAPE  
3CWQ          LDX   7  ACOMMUNE3(2) 
3DBB          BNZ   7  PN6                 [INSECURE TAPE   
3DW2          LDX   0  ACOMMUNE4(2) 
3F*L          ANDX  0  TWQ(1)   
3FT=          BNZ   0  PV                  [WRONG OR QUERY  
3G#W    PN6   LFAILS   ,0   
3GSG          BNZ   0  PVF                 [BRANCH IF FAILED IN USE 
3H#6    #     P        TEST COUNT OF USERS (SECURE TAPES)   
3HRQ          BNZ   7  PR                  [INSECURE TAPE   
3J?B          LDX   0  ACOMMUNE4(2) 
3JR2          ANDN  0  #7777
3K=L          BZE   0  PR2                 [NOBODY WAITING  
3KQ=    #     Q        SET RETAIN   
3L9W          LDX   0  TRET(1)  
3LPG          ORS   0  AWORK2(2)           [SET RETAIN  
3M96    #     R        CLOSE :SYSTEM.DOCUMENT   
3MNQ    PR    LDX   7  21(3)
3N8B    #SKI  K6UNLOADMT>299-299
3NN2          SWITRACE 7,ULMTSD21   
3P7L          ANDN  7  #400                [NON-STANDARD MARKER 
3PM=    PR2   CLOSETOP  
3Q6W    #     S        NONSTANDARD TAPE 
3QLG    #     U        READ HEADER  
3R66          LDN   0  7                   [REWIND MODE 
3RKQ          DCA      ,DLA,0,MODE  
3S5B          LOCKC    2,£  
3S=J ...#UNS   FDRMT
3SCQ ...      CLDRM 
3SK2          GPERI    ,2                  [REWIND TAPE 
3T4L          COOR1 
3TJ=          UNLOCK   2
3W3W          LDCH  0  CPRW1(2) 
3WHG ...      BNZ   0  PIA                 [BRANCH IF REWIND FAILED 
3X36          BNZ   7  PAB                 [NONSTANDARD TAPE
3XGQ          LDN   0  0                   [READ MODE   
3Y2B          DCA      ,DLA,0,MODE  
3YG2          LDN   0  1                   [COUNT   
3Y^L          DCA      ,STO,0,COUNT 
3^F=          LOCKC    2,£  
3^YW          LDN   0  ACOMMUNE1(2) 
42DG          DCA      ,STO,0,CTSA         [ADDRESS 
42Y6          GPERI    ,2                  [POSITION TAPE AFTER HEADER  
43CQ          COOR1 
43XB          UNLOCK   2                   [UNLOCK ACTIVITY 
44C2          LDCH  0  CPRW1(2)            [REPLY CHARACTER 
44WL          ANDN  0  #57                 [MASK OUT LONG BLOCK BIT 
453S ...      BZE   0  PAB  
4592 ...[ READ OR REWIND FAILED - UNLOAD TAPE   
45B8 ...PIA   LDX   0  TUNL(1)  
45HB ...      ORS   0  AWORK2(2)
45NJ ...      BRN      PI   
45TW    #     AB       DEALLOCATE DECK  
46*G    PAB   CLALLOC   
46T6          LDX   3  CPPTR(2) 
47#Q    #SKI  K6UNLOADMT>299-299
47SB          SWITRACE 3,ULMTCLAL   
48#2          STOZ     CPPTR(2) 
48RL          STOZ     CPRW1(2) 
49?=          STOZ     CPRW2(2) 
49QW          STOZ     CPRSW(2) 
4==G    #     AC       WAKE UP APPROPRIATE ACTIVITIES   
4=Q6 ...      DFJUMPN  3,WORK,PAC3         [JUMP IF NOT WORKTAPE
4?9Q          LONGON   #63                 [WAKE UP FOR WORK TAPE   
4?PB          BRN      PAD  
4#92    PAC3  DFJUMPN  3,POOL,PAC5         [JUMP IF NOT POOLTAPE
4#NL          LONGON   #56                 [WAKE UP FOR POOL TAPE   
4*8=          BRN      PAD  
4*MW    PAC5  DFJUMPS  3,NONS,PAC7         [JUMP IF NON-STANDARD
4B7G          DFLOAD   3,TSN,6  
4B=9 ...      FDTENT    2,6,XNOFDT         [IS THIS TSN IN FDT??
4B?6 ...      JBCC     XDTA,2,BIFDTO       [J IF ENTRY ALREADY LOOKED AT
4B#3 ...                                   [OTHERWISE CLEAR BIT.
4B#Y ...      BS       2,BIFDTJL           [SET 'TAPE JUST LOADED' BIT  
4B*T ...      BS       BOLC,BIFDTLMEF      [SET 'LOOK AT FDT FIRST' BIT 
4BBQ ...      STARTACT RET                 [KICK DTS ACTIVITY   
4BCM ...      BRN      PAD                 [RETRIEVAL SYSTEM WILL DEAL WITH THIS
4BDJ ...XDTA                               [FDT ENTRY BUT BIFDTO IS CLEAR   
4BFF ...      JBS      PAD,2,BIFDTJL       [J IF NO DTA SET UP YET BY DTSA  
4BGB ...                                   [DTA HAS BEEN SET UP - KICK IT   
4BH? ...                                   [......MOST PROBABLY IT IS DUMPER'S D
4BJ8 ...XNOFDT                             [NO FDT ENTRY - SO CONTINUE  
4BM6          LONGON   #61,6
4C6Q    PAC7  LONGON   #61  
4CLB    #     AD       RETAIN SET ? 
4D62    PAD   LDX   0  AWORK2(2)
4DKL          ANDX  0  TRET(1)  
4F5=          BNZ   0  PAL                 [RETAIN SET  
4FJW    #     AE       CO-ORDINATE FOR MISCELLANEOUS USERS  
4G4G          DFLOAD   3,TSN,6             [REMEMBER TSN
4GJ6          COOR3    #62  
4H3Q          DFJUMPN  3,LOAD,PAL          [BRANCH IF NO LONGER LOADED  
4HHB          JALLOC   3,PAL               [BRANCH IF NOW ALLOCATED 
4J32          DFLOAD   3,TSN,0  
4JGL          BXU   0  6,PAL               [BRANCH IF TAPE HAS BEEN CHANGED 
4K2=    #     AF       DECK NOW ALLOCATED   
4KFW          SETALLOC 3
4K^G          STO   3  CPPTR(2) 
4LF6          LDX   1  FX1  
4LYQ          LDX   0  TUNL(1)  
4MDB          ORS   0  AWORK2(2)           [SET UNLOAD  
4MY2    #SKI  K6UNLOADMT>299-299
4NCL          SWITRACE AWORK2(2),ULMTAGN
4NX=          BRN      PI   
4PBW    #     VF       SET UP FOR WAKE S/R  
4PWG    PVF   LDX   2  FX2  
4QB6          LDX   0  CPPTR(2) 
4QTQ          STO   0  AWORK1(2)           [INDICATES LONGON REQUIRED   
4R*B          BRN      PV1  
4RT2    #     V        COPY DOCUMENT ENTRY  
4S#L    PV    STOZ     AWORK1(2)           [ZERO FOR NO WAKING  
4SS=    PV1   READAGAIN 
4T?W    #     W        DELETE ENTRY 
4TRG          DELETE
4W?6          STOZ     AWORK3(2)
4WQQ          DFJUMPS  ,NONS,NWK
4X=B          DFJUMPS  ,POOL,WKZ
4XQ2          DFJUMPS  ,WORK,WKZ
4Y9L          DFLOAD   ,TSN,0   
4YP=          STO   0  AWORK3(2)
4^8W          BRN      NWK  
4^NG    WKZ   STOZ     AWORK1(2)
5286    NWK 
52MQ    #     X        RESET PLIST  
52XJ ...      DFLOAD   ,TSN,7   
537B          DFCLEAR  ,TSN 
53M2          DFCLEAR  ,TBITS   
546L    #     Y        CLOSE :SYSTEM.DOCUMENT   
54L=          CLOSE                        [DOCUMENT
555W    #     Z        REWIND AND DISCONNECT DECK   
55KG          LDN   0  9                   [REWIND AND DISCONNECT   
5656          DCA      ,DLA,0,MODE  
56JQ          LOCKC    2,£  
574B          GPERI    ,2   
57J2          COOR1 
583L          UNLOCK   2                   [ACTIVITY
58H=    PAK 
58JS ...[ MEDIA UNLOAD ERROR LOG- SET UP ADATA/ELOUT BLOCK  
58LB ...      JENVNOT  PAKA,CME 
58MY ...      LDN   4  22   
58PG ...      LDX   3  CPPTR(2) 
58R4 ...      SETELOG  2,4,3
58RT ...      STO   7  ELDME(2) 
58SL ...      LDN   5  #5060
58W8 ...      ORS   5  ELHEADER+1(2)
58XQ ...      LDX   2  FX2  
58^# ...PAKA
592W          LGEOG    ,5   
59GG    PAK1
5=26          OUTPACK  5,1,GEOPER,PAK1  
5=FQ          MHUNT    3,FILE,FRB   
5=^B          LDX   5  A1+2(3)  
5?F2          BZE   5  PAK3                [BRANCH IF NONSTANDARD TAPE  
5?YL    PAK2
5#D=          OUTPACKB 5,1,TSN,PAK2 
5#XW          BRN      PAK4 
5*CG    PAK3
5*X6          OUTPARB  SKIP 
5BBQ    PAK4
5BWB          MHUNT    3,FILE,FRB   
5CB2          OUTPACKB A1+3(3),3,LOCNAME,PAK4   
5CTL    PAK5
5D*=          MHUNT    3,FILE,FRB   
5DSW          OUTPACKB A1+6(3),1,REELNUM,PAK5   
5F#G    PAK6
5FS6          MHUNT    3,FILE,FRB   
5G?Q          OUTPACKB A1+7(3),1,GENNUM,PAK6
5GRB          LFAILS   ,4   
5H?2          LREPEATS ,6   
5HQL          BZE   4  PAK8 
5HS* ...[ MEDIA UNLOAD ERROR LOGS-PUT IN FAIL COUNT 
5HW4 ...      HUNTW    2,ADATA,ELOUT
5HXR ...      BNG   2  PAK7 
5H^G ...      LDN   3  0
5J39 ...      SLL   34 16   
5J4Y ...      STO   3  ELHEADER+12(2)   
5J6M ...      ORS   4  ELHEADER+13(2)   
5J8B ...      SRL   34 16   
5J==    PAK7
5JPW          OUTPACKB 4,1,FAILCT,PAK7  
5K9G          CLCOUNT  ,FAIL
5KP6          BRN      PAK9 
5L8Q    PAK8
5LNB          OUTPARB  SKIP 
5M82    PAK9
5MML          BZE   6  PAK11
5N7=    PAK10   
5NLW          OUTPACKB 6,1,REPEATS,PAK10
5P6G          CLCOUNT  ,REPEAT  
5PL6          BRN      PAK12
5Q5Q    PAK11   
5QKB          OUTPARB  SKIP 
5R52    PAK12   
5RJL          BZE   5  PAK13
5S4=          OUTPARB  SKIP 
5SHW          BRN      PAK14
5T3G    PAK13   
5TH6          OUTPARB  NULL 
5W2Q    PAK14   
5W4F    #SKI  JSKI06
5W68    (   
5W7X          OUTPAR   TIMENOW             [TIME TO MESSAGE 
5W9L          LGPERIS  ,7                  [GEORGE PERI COUNT   
5W?*          LOBJPERIS ,0                 [OBJECT PROGRAM PERIS
5W*4          ADX   7  0                   [TOT THEM UP 
5WBR          OUTPACK  7,1,TRANSCT  
5WDG    )   
5WDH ...[ MEDIA UNLOAD ERROR LOGS-PUT IN TRANSFER COUNT 
5WDJ ...      LDX   5  6
5WDK ...      HUNTW    2,ADATA,ELOUT
5WDL ...      BNG   2  PAK14A   
5WDM ...      LDN   6  0
5WDN ...      SLL   67 8
5WDP ...      ORS   6  ELHEADER+9(2)
5WDQ ...      STO   7  ELHEADER+10(2)   
5WDR ...PAK14A  
5WDS ...      LDX   2  FX2  
5WDT ...      LDN   7  0
5WDW ...      JCERRCT  ,PAK16   
5WDX ...      LCERRS   ,7                  [CORRECTED ERROR COUNT   
5WDY ...      BZE   7  PAK16
5WD^ ...PAK15   
5WF2 ...      OUTPACK  7,1,NUMA,PAK15   
5WF3 ...      CLCOUNT  ,CERR
5WF4 ...      BRN      PAK17
5WF5 ...PAK16   
5WF6 ...      OUTPAR   SKIP 
5WF8 ...PAK17   
5WF= ...[ MEDIA UNLOAD ERROR BLOCKS-CHAIN ADATA/ELOUT BLOCK AT END  
5WF# ...[ OF ELOG ACTIVITY  
5WFB ...      HUNTW    2,ADATA,ELOUT
5WFD ...      BNG   2  PAK17A   
5WFG ...      ADX   5  7
5WFJ ...      STO   5  ELHEADER+11(2)   
5WFL ...      LDX   1  BELOGACT 
5WFN ...      LDX   3  ACTRING(1)   
5WFQ ...      SBN   3  ACTRING  
5WFS ...      LDX   3  BPTR(3)  
5WFW ...      CHAIN    2,3  
5WFY ...      STARTACT ELOG 
5WG2 ...PAK17A  
5WG4 ...      MONOUT   AUNIT1   
5WGB          FREEMT
5X22          CALL  0  WAKE 
5X^=    #     AL       AUTONOMOUS ? 
5YDW    PAL1  MFREE    FILE,FRB 
5YYG    PAL   LDX   2  FX2  
5^D6          LDX   1  FX1  
5^XQ          LDX   0  AWORK2(2)
62CB          ANDX  0  TAUT(1)  
62X2          BZE   0  PAM                 [NON-AUTONOMOUS  
63BL    #     AN       SUICIDE TERMINATION  
63W=          SUICIDE                      [FINISH  
64*W    PAM   UP
64TG    #     AJ       REPLY BLOCK TO BE SET UP 
65*6    PAJ 
65SQ          MHUNT    3,FILE,FRB   
66#B          LFAILS   ,5   
66S2          LREPEATS ,6   
67?L          ORX   5  6
67HD ...      DFLOAD   ,TSN,7   
67R=          BNZ   5  PAK                 [BRANCH IF FAILS OR REPEATS  
68=W          FREEMT
68QG          CALL  0  WAKE 
69=6          BRN      PAL1 
69PQ    #     AO       THROW OFF TAPE   
6=9B    PAO 
6=P2    #SKI  K6UNLOADMT>299-299
6?8L          SWITRACE 0,ULMTNSD
6?N=          LDN   0  9                   [REWIND AND DISCONNECT   
6#7W          DCA      ,DLA,0,MODE  
6#MG          LOCKC    2,£  
6*76          GPERI    ,2   
6*LQ          COOR1 
6B6B          UNLOCK   2
6BL2    #     AP       RESET PLIST  
6C5L          DFCLEAR  ,TSN 
6CK=          DFCLEAR  ,TBITS   
6D4W          LGEOG    ,5   
6DJG          FREEMT
6F46          OUTNUM   5,0  
6FHQ          MTINFORM AZFREE   
6G3B          BRN      PAL  
6GH2    #   
6H2L    #     GEOERRS   
6HG=    #   
6H^W    NOSD  GEOERR   1,NOSYSDOC   
6JFG    XBRKIN      GEOERR 1,XBRKIN 
6J^6          MENDAREA 50,K99UNLOADMT   
6KDQ    #END
^^^^ ...11310633000200000000