TAPERING867

(George Source)

Macros used: BXE, BXL, BXU, CHAIN, CHECKOWNER, CLOSETOP, COMBRKIN, DOWN, ENDCOM, ERROR, ERRORX, FINDPEREC, FREECORE, GEOERR, HUNT2J, JALLOC, LONGON, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, SEG, SEGENTRY, SETALLOC, SETNCORE, SPARANOX, SSEARCH, STEPAGAIN, STEPWRITE, TESTREP, TRACE, UNLOAD, UP

TAPERING867.txt
22BG ...      SEG      TAPERING,867,C.R.JOHNSON 
22R2 ...[   
237G ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23J2 ...[   
23YG          SEGENTRY K1TAPERING,QK1TAPER  
24D6          SEGENTRY K2TAPERING,QK2TAPER  
24XQ          SEGENTRY K3TAPERING,QK3TAPER  
25CB    ZDUMP          12HDUMPER
25X2    ZNOWN          +ERNOTOWN
25^K ...#UNS  JDUMPTW   
2648 ...(   
266R ...ZKNOW       +ERUNKNOWN  
269B ...ZNINC       +ERNOTINC   
26?^ ...)   
26BL    #     ENTRY POINT FOR TAPERIGHT AND TAPEWRONG COMMANDS  
26W=    QK1TAPER
27*W          SLL   7  23                  [B0=1 IF TW  
27TG          LDX   0  CONTEXT(2)   
28*6          ANDN  0  1                   [USER CONTEXT BIT
28SQ          SRC   0  3
29#B          ORS   0  7                   [B2=1 IF USER CONTEXT
29*Y ...#UNS  JDUMPTW   
29CG ...(   
29F4 ...      BPZ   7  TINC 
29GL ...[ TAPEWRONG - IF A DUMP PARAMETER WAS SPECIFIED SET B3 OF X7
29J8 ...      LDX   0   AWORK1(2)   
29KQ ...      BZE   0   TINC
29M# ...      LDCT  0   #040
29NW ...      ORS   0   7   
29QD ...)   
29S2 ...      BRN      TINC 
2CMG    #     ENTRY POINT FOR TAPEWRONG MACRO   
2D76    QK3TAPER
2DLQ          LDX   4  ACOMMUNE1(2)        [TAPE SERIAL NUMBER  
2F6B          SETNCORE 2,3,AONBS,GLIST  
2FL2          STO   4  A1+1(3)  
2G5L          LDN   0  1
2GK=          STO   0  A1(3)
2H4W          LDCT  7  #600                [B0=1 FOR TAPEWRONG,B1=1 FOR MACRO   
2HJG    TINC
2J46    #SKI           K6TAPERING>99-99 
2JHQ          TRACE    7,WRNGINC
2K3B          DOWN     DTWRONG,1           [WRONG DUMP TAPES
2KH2    TSER
2L2L          STO   7  AWORK1(2)
2LG=          STOZ     AWORK2(2)
2L^W          MHUNT    1,AONBS,GLIST
2MFG    #     THIS SECTION UPDATES :SYSTEM.SERIAL   
2M^6    #     MAIN LOOP 
2NDQ    TSERLOOP
2NYB          LDX   0  ALOGLEN(1)   
2PD2          LDX   6  AWORK2(2)
2PXL    TSER1   
2QC=          ADN   6  1
2QWW          BXE   6  0,TEND              [BRANCH IF END OF GLIST  
2RBG          SMO      6
2RW6          LDX   7  A1(1)
2S*Q          BZE   7  TSER1
2STB          STO   6  AWORK2(2)
2SX5 ...#UNS  JDUMPTW   
2SYS ...(   
2T2H ...[ J IF DUMP PARAMETER SPECIFIED AND TAPE NOT FOUND IN INCINDEX  
2T4= ...      BNG   7  TNINC
2T5^ ...      LDCT  0  #040 
2T7N ...      ANDX  0  AWORK1(2)
2T9C ...      BNZ   0  TSUB 
2T?6 ...)   
2T*2          SSEARCH  TNREC,7  
2TSL          STO   3  AWORK3(2)
2W#=          LDX   0  AWORK1(2)
2WRW          SLL   0  2
2X?G          BPZ   0  TUN                 [BRANCH IF NOT USER CONTEXT  
2XR6    #     CHECK THAT PROPER USER OWNS THE TAPE  
2XX3 ...      MHUNTW   1,AONBS,GLIST
2Y2Y ...      LDX   3  A1(1)
2Y6T ...      LDX   2  FX2  
2Y=Q ...      LDX   1  2
2YBM ...TADJ
2YGJ ...      HUNT2J   1,FILE,ADJUNCTS,,NADJ
2YLF ...      BCT   3  TADJ                [LOCATE APPROPRIATE ADJUNCTS 
2YQB ...      CHAIN    1,2                 [AND CHAIN NEXT TO CPAT  
2YW? ...      LDX   3  AWORK3(2)
2^28 ...      LDX   0  5(3) 
2^65 ...      BNG   0  TNOWN               [BRANCH IF TAPE TO BE RETURNED   
2^=2          LDX   4  2(3)                [NAME OF TAPES DIR.  
2^PL          LDX   5  3(3) 
329=          LDX   6  4(3) 
32NW    #SKI           K6TAPERING>199-199   
338G          TRACE    4,TAPEDIR
33N6          BZE   4  TNOWN               [BRANCH IF POOL OR WORKTAPE  
347Q ...      TXU   4  CPREFIX(2)   
34MB ...      TXU   5  CPREFIX+1(2) 
3572 ...      TXU   6  CPREFIX+2(2) 
35LL ...      BCC      TUN2                 [BRANCH IF TAPE IN PROPER USERS DIR 
36KW          SETNCORE 4,3,FILE,FABSNB  
375G          STOZ     AWORK3(2)           [ADD. NO LONGER VALID - COORDINATION 
37K6          LDN   1  4
384Q          STO   1  A1(3)
38JB          LDN   2  A1+1(3)  
3942          MOVE  1  3                   [NAME OF TAPES DIRECTORY 
39HL          CHECKOWNER                   [****
3=3=          TESTREPN OK,TNOWN            [BRANCH IF PROPER USER IS NOT OWNER  
3=GW    #     IF THE TAPE IS UP BUT NOT IN USE - UNLOAD IT  
3=QN ...TUN2
3?2G ...      MFREEW   FILE,ADJUNCTS
3?=# ...TUN 
3?G6          LDX   2  FX2  
3?^Q          LDX   0  AWORK1(2)
3#FB          BPZ   0  TUN1                [BRANCH IF TAPERIGHT 
3#^2          FINDPEREC 3,APTSER,7         [FIND PERIPHERAL RECORD  
3*DL          BNG   3  TUN1                [BRANCH IF NONE  
3*Y=    #SKI           K6TAPERING>199-199   
3BCW          TRACE    0(3),TUN 
3BXG          JALLOC   3,TUN1   
3CC6          SETALLOC 3
3CWQ          STO   3  CPPTR(2) 
3DBB          UNLOAD   ,,,UNL,AUT   
3DW2          STOZ     AWORK3(2)
3F*L    TUN1
3FT=          LDX   3  AWORK3(2)
3G#W    #SKI           K6TAPERING>199-199   
3GSG          TRACE    3,SERIPTR
3H#6          BNZ   3  TRING               [BRANCH IF STEP POINTER STILL VALID  
3HRQ          STEPAGAIN 
3J?B          TESTREP  OK,TRING 
3JR2          TESTREP  COORED,TRING 
3K=L          GEOERR   1,GLIBREP
3KQ=    TRING   
3L9W          STEPWRITE 
3LPG          LDCT  4  #10                 [OPERATOR WRONGED BIT
3M96          LDX   0  AWORK1(2)
3MNQ          SLL   0  2
3N8B          BPZ   0  TR1                 [BRANCH IF NOT USER CONTEXT  
3NN2          SLL   4  1                   [USER WRONGED BIT
3P7L    TR1 
3PM=          LDX   0  AWORK1(2)
3Q6W          BNG   0  TWONG               [BRANCH IF TAPEWRONG 
3Q7M ...#SKI JSKI30<1$1 
3Q8D ...(   
3Q9= ...      STO   4  AWORK4(2)            [PRESERVE X4
3Q?L ...      LDX   4  2(3)                [GET OWNER OF TAPE   
3QB2 ...      LDX   5  3(3)                [FROM RECORD IN  
3QDB ...      LDX   6  4(3)                [SYSTEM.SERIAL   
3QGQ ...      TXU   4  ZDUMP(1)            [COMPARE WITH
3QK6 ...      TXU   5  ZDUMP+1(1)          [':DUMPER'   
3QMG ...      TXU   6  ZDUMP+2(1)   
3QPW ...      BCC      TR0A                [J IF :DUMPER
3QS= ...      LDX   4  AWORK4(2)           [RESTORE X4  
3QWL ...       BRN      TR1A
3Q^2 ...TR0A  LDCT  4  #30                 [RESET USER AND OP WRONGED BITS  
3R28 ...)   
3R3B ...TR1A  NGN   0  1
3R66          ERX   4  0
3RKQ          ANDS  4  5(3) 
3S5B          BRN      TR2  
3SK2    TWONG   
3T4L          ORS   4  5(3) 
3TJ=    TR2 
3W3W    #SKI           K6TAPERING>99-99 
3WHG          TRACE    5(3),TRONGED 
3X36    #     WAKE UP ANY ACTIVITIES WAITING FOR THE TAPE AND TELL THEM THAT IT 
3XGQ    #     HAS BEEN TAPEWRONGED  
3Y2B    TWAKEY  
3YG2          LDX   0  AWORK1(2)
3Y^L          BPZ   0  TSUB                [BRANCH IF TAPE BEING RIGHTED
3^F=          LDX   0  5(3) 
3^YW          ANDN  0  #7777
42DG          BZE   0  TSUB                [BRANCH IF TAPE NOT REQUIRED 
42Y6          LDX   6  AWORK1(2)
43CQ          SLC   6  3
43XB          ANDN  6  1                   [B23=1 IF USER CONTEXT   
44C2          ERN   6  1                   [X6=REPLY
44WL          CALL  5  WAKE                [WAKE UP ACTS. WAITING FOR TAPE  
45B=    TSUB
45TW          MHUNT    1,AONBS,GLIST
46*G          LDX   2  FX2  
46T6          SMO      AWORK2(2)
47#Q          STOZ     A1(1)               [TAPE DEALT WITH 
47SB          LDN   0  1
48#2          SBS   0  A1(1)               [DECREASE NO. TSNS LEFT TO PROCESS   
48RL          BRN      TSERLOOP 
49?=    #     THIS TAPE DOES NOT BELONG TO THE PROPER USER  
49QW    TNOWN   
4==G          MHUNT    1,AONBS,GLIST
4=Q6          LDX   2  FX2  
4?9Q          LDX   0  AWORK1(2)
4?PB          SLL   0  1
4#92          BNG   0  TEND1               [BRANCH IF MACRO 
4#=? ...#UNS  JDUMPTW   
4#?J ...(   
4##T ...      MFREEW   FILE,ADJUNCTS
4#B6 ...      SMO      FX1  
4#CC ...      LDX   5  ZNOWN
4#DN ...      LDX   6  AWORK2(2)
4#F^ ...      BRN      TNNC2
4#H= ...)   
4#JH ...#UNS  JDUMPTW   
4#KS ...#SKI
4#M5 ...(   
4#NL          LDX   5  AWORK2(2)           [PARAMETER NUMBER
4*8=          SPARANOX 5
4*MW          ERRORX   ZNOWN(1)            [ERROR MESSAGE   
4B7G          MFREE    CPB,CUNI 
4BC# ...      MFREEW   FILE,ADJUNCTS
4BM6          BRN      TSUB 
4BMY ...)   
4BNQ ...#UNS  JDUMPTW   
4BPJ ...(   
4BQB ...[ TAPE NOT FOUND IN :SYSTEM.INCINDEX
4BR8 ...TNINC SMO      FX1  
4BS2 ...      LDX   5  ZNINC
4BSS ...TNNC2 LDCT  0  #040 
4BTL ...      SMO      FX2  
4BWD ...      ANDX  0  AWORK1   
4BX= ...      BZE   0  TNNC3
4BY4 ...[ IF TW DUMP PARAMETER NUMBER WILL BE ONE MORE THAN POSITION IN 
4BYW ...[ AONBS/GLIST BLOCK 
4B^N ...      ADN   6  1
4C2G ...TNNC3 SPARANOX 6
4C3# ...      ERRORX   5
4C46 ...      MFREE    CPB,CUNI 
4C4Y ...      BRN      TSUB 
4C5Q ...)   
4C6Q    #     NO ENTRY FOR THIS TAPE IN :SYSTEM.SERIAL  
4CLB    TNREC   
4D62          SMO      FX2  
4DKL          LDX   0  AWORK1   
4F5=          SLL   0  1
4FJW          BNG   0  TEND1               [BRANCH IF MACRO 
4FLK ...#UNS  JDUMPTW   
4FN# ...(   
4FQ3 ...      LDX   5  ZKNOW(1) 
4FRQ ...      BRN      TNNC2
4FTF ...)   
4FX8 ...#UNS  JDUMPTW   
4FYX ...#SKI
4G2L ...(   
4G4G          SPARANOX 6
4GJ6          ERROR    ERUNKNOWN
4H3Q          MFREE    CPB,CUNI 
4HHB          BRN      TSUB 
4HR8 ...)   
4J32    #     THE END   
4JGL    TEND
4K2=          SMO      FX2  
4KFW          LDX   0  AWORK1   
4K^G          SLL   0  1
4LF6          BNG   0  TEND1               [BRANCH IF MACRO 
4LYQ          CLOSETOP  
4MDB          ENDCOM
4MY2    TEND1   
4NCL          CLOSETOP  
4NX=          UP
4PBW    ZBRK
4PWG          COMBRKIN  
4QB6    QK2TAPER
4QTQ          LDX   7  ACOMMUNE1(2)        [TSN 
4R*B          LDX   6  ACOMMUNE2(2)        [REPLY   
4RT2    #SKI           K6TAPERING>199-199   
4S#L    (   
4SS=          TRACE    7,WAKETSN
4T?W          TRACE    6,WAKEREP
4TRG    )   
4W?6          CALL  5  WAKE 
4WQQ          UP
4X2J ...NADJ  GEOERR   1,NOADJTH
4X=B    #     SUBROUTINE TO WAKE UP ACTIVITIES WAITING IN MODE #61 FOR A TAPE   
4XQ2    #     WHOSE TSN IS IN X7 AND GIVE THEM A FLIB/FREP BLOCK WITH A1=X6 
4Y9L    #     X5 HOLDS THE LINK 
4YP=    WAKE
4^8W          SBX   5  FX1  
4^NG    WAK1
5286          SETNCORE 1,3,FLIB,FREP
52MQ          STO   6  A1(3)
537B          LDN   1  BACT 
53M2          LDN   2  BACT 
546L    WAK2
54L=          LDX   1  FPTR(1)  
555W          BXE   1  2,WAK3              [BRANCH IF END OF ACTIVITY CHAIN 
55KG    #SKI           K6TAPERING>299-299   
5656          TRACE    ATYPE(1),SERACT  
56JQ          LDX   0  ATYPE(1) 
574B          BXL   0  CACT,WAK2           [BRANCH IF DATA BLOCK
57J2    WAK2A   
583L    #SKI           K6TAPERING>299-299   
58H=          TRACE    CLONG1(1),WTSTYLE
592W          LDX   0  CLONG1(1)
59GG          ANDN  0  #777 
5=26          SBN   0  #57  
5=FQ          BZE   0  WAK2B
5=^B          SBN   0  2
5?F2          BNZ   0  WAK2                [BRANCH UNLESS WAITING STYLE #61 
5?YL    WAK2B   
5#D=    #SKI           K6TAPERING>299-299   
5#XW          TRACE    CLONG2(1),TAPECLOG   
5*CG          BXU   7  CLONG2(1),WAK2   
5*X6    WAK4
5BBQ ...      STO   1  4                   [ADD. OF PREVIOUS BLOCK  
5BWB    WAK4A   
5CB2          LDX   1  FPTR(1)  
5CTL          BXE   1  2,WAK4B             [BRANCH IF END OF ACTIVITY CHAIN 
5D*=          LDX   0  ATYPE(1) 
5DSW          SMO      FX1  
5F#G          BXE   0  WAKREP,WAK2         [BRANCH IF FLIB/FREP BLOCK   
5FS6 ...      BXL   0  CACT,WAK4
5G?Q    WAK4B   
5GRB          CHAIN    3,4  
5H?2          BRN      WAK1 
5HQL    WAK3
5J==          FREECORE 3
5JPW          LONGON   #61,7
5K9G          LONGON   #61  
5KP6          LONGON   #57,7
5L8Q          ADX   5  FX1  
5LNB          EXIT  5  0
5M82    WAKREP  
5MML    #HAL           +FLIB+FREP,0 
5N7=          MENDAREA 50,K99TAPERING   
5NLW    #END
^^^^ ...76251511000100000000