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