{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SPUNLOAD867)}}
====== SPUNLOAD867 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:CLOSE|CLOSE]], [[george:macro:DELETE|DELETE]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERROR|ERROR]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREEPER|FREEPER]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GSCAN|GSCAN]], [[george:macro:HUNTW|HUNTW]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NBREAKIN|NBREAKIN]], [[george:macro:OPEN|OPEN]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SIX|SIX]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:STEP|STEP]], [[george:macro:UNIFREE|UNIFREE]]
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