{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: TAPERING867)}}
====== TAPERING867 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CHECKOWNER|CHECKOWNER]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERROR|ERROR]], [[george:macro:ERRORX|ERRORX]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:JALLOC|JALLOC]], [[george:macro:LONGON|LONGON]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SSEARCH|SSEARCH]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPWRITE|STEPWRITE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOAD|UNLOAD]], [[george:macro:UP|UP]]
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