{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPBCCD867)}}
====== IPBCCD867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ADDRELT|ADDRELT]], [[george:macro:ALTLENGR|ALTLENGR]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:DOWN|DOWN]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:IPBNULL|IPBNULL]], [[george:macro:LONGON|LONGON]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:RINGTWO|RINGTWO]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETIDENT|SETIDENT]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SUBRELT|SUBRELT]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TEST|TEST]], [[george:macro:TRACE|TRACE]]
22FL SEG IPBCCD,,PHILIP TURNER
22^= [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982
23DW #LIS K0IPBCCD>K0IPB>K0ALLGEO>K0GREATGEO
23YG 8HIPBCCD [CONCEPTUAL IPB CENTRAL CONTROLLER
24D6 SEGENTRY K1IPBCCD,XK1
24XQ SEGENTRY K2IPBCCD,XK2
25CB VITAL [LIST OF VITAL SUP SEGS
25X2 +37
26BL +48
26W= +50
27*W +51
27TG +53
28*6 +57
28SQ +58
29#B VITAN
29S2 #DEF VLEN=VITAN-VITAL [VLEN IS NO. OF VITAL CODES
2=?L XICONIN
2=R= #HAL AMXOR+ICONIN,0
2?=W XIOUT
2?QG #HAL AMXOR+IOUT,0
2#=6 XCONDCB
2#PQ #HAL AMXOR+CONDCB,0
2*9B XLEN +CONDCBLEN
2*P2 ZAH #56777777
2B8L ONEDAY 3600*24/K9*1000
2BN= TENSECS 10000/K9
2C7W XMSK1 #40000007
2CMG XMSK9 #777000
2D76 XMSK17 #2450000
2DLQ TABUP #152
2F6B #40120250
2FL2 #40240250
2G5L TABDN #153
2GK= #40000250
2H4W #40120250
2HJG ZTEMK #40000007
2J46 [***** SUBROUTINES ******
2JHQ SLICO [SEND ILLEGAL AS X4
2K3B LDX 2 FX2
2KH2 LDX 0 AWORK2(2)
2L2L LDX 6 XMSK17(1) [ILLEGAL SEGMENT
2LG= DSA 0 6 [IDENTIFIER NUMBER
2L^W SLL 4 12
2MFG BRN SETZW
2M^6 ZLON
2NDQ LONGON #133
2NYB EXIT 5 0
2PD2 ZNINU
2PXL LDN 0 #400
2QC= ANDX 0 A1+IDSTATUS+1(2)
2QWW ERN 0 #400
2RBG SRC 0 10
2RW6 [ BIT 1 IF TO BE DETACHED
2S*Q ZNUCA
2STB SMO FX1
2T*2 ORX 0 ZAH [MASK TO CLEAR OL AND PERHAPS AH
2TSL SMO A1+BPTR(2)
2W#= ANDS 0 FOURTHWD [UNSET ATTACHED,ONLINE
2WRW ZNIA IPBNULL 2
2X?G EXIT 5 0
2XR6 REINI
2Y=Q SBX 5 FX1
2YQB SETIDENT
2^=2 ADX 5 FX1
2^PL EXIT 5 0
329= SHDCB MHUNTW 2,AMXOR,CONDCB
32NW EXIT 1 0
338G SETIL LDX 2 FX2
33N6 LDX 0 AWORK2(2)
347Q LDX 6 XMSK17(1)
34MB DSA 0 6
3572 SRL 0 12
35LL DCH 0 4
366= SLL 4 12
36KW BRN SETZW
375G SETYV LDX 4 CACT
37K6 BRN SETYW
384Q SETYZ LDN 6 #166
38JB SETY LDX 4 GSIGN
3942 SETYW SMO FX2
39HL LDX 0 AWORK2
3=3= SLL 6 12
3=GW DSA 0 6
3?2G BRN SETZX
3?G6 SETSR MHUNTW 2,AMXOR,CONDCB
3?^Q LDCT 0 #200
3#FB SMO 7
3#^2 ANDX 0 A1+IDSTATUS(2)
3*DL BZE 0 (5) [J. UNLESS SRI SET
3*Y= SMO 7
3BCW ERS 0 A1+IDSTATUS(2)
3BXG LDN 0 #1000
3CC6 SBS 0 A1+IDSTATUS(2) [DECREMENT SRI COUNT
3CWQ LDX 0 XMSK9(1)
3DBB ANDX 0 A1+IDSTATUS(2)
3DW2 BNZ 0 (5) [J. UNLESS SRI COUNT ZERO
3F*L LDCT 0 #200
3FT= ERS 0 A1+IDSTATUS(2) [UNSET STOP REMOTE INPUT
3G#W LDN 6 #142 [INPUT END OF REMOTE INPUT
3GSG SETZ LDX 4 GSIGN
3H#6 SETZV SLL 6 12
3HRQ SETZX MHUNTW 2,AMXOR,CONDCB
3J?B LDCT 0 #20
3JR2 ANDX 0 A1+IDSTATUS(2)
3K=L BNZ 0 (5) [J. IF CLOSE DOWN SET
3KQ= SETZW SBX 5 FX1
3L9W LDX 3 6
3LPG SRL 3 18
3M96 SETNCORE 2(3),3,AMXOR,ICONIN
3MNQ LDX 0 ALOGLEN(3)
3N8B ADS 0 INLOAD(2) [INCREMENT INPUT OVERLOAD COUNT
3NN2 ANDN 0 1
3P7L BNZ 0 SETZ1
3PM= STO 4 IPBIDE+1(3)
3Q6W LDX 4 CACT
3QLG SETZ1 ADX 5 1
3R66 STO 4 IBSW(3)
3RKQ STOZ IMOPTY(3)
3S5B STO 6 IPBIDE(3)
3SK2 TRACE IPBIDE(3),CLINCCA
3T4L MHUNTW 2,AMXOR,CONDCB
3TJ= SETX5 LDCT 6 #200
3W3W ANDX 6 IBSW(3)
3WHG LDX 2 A1+FPTR(2)
3X36 SBN 2 A1
3XGQ SETX1 LDX 2 BPTR(2)
3Y2B LDX 0 ATYPE(2)
3YG2 BXU 0 XICONIN(1),SETX2
3Y^L BZE 6 SETX2
3^F= LDX 0 IMOPTY(2)
3^YW BNG 0 SETX2
42DG LDCT 0 #200
42Y6 ANDX 0 IBSW(2)
43CQ BNZ 0 SETX2 [J IF VITAL
43XB NGN 0 #101
44C2 ANDS 0 IBSW(2) [UNSET "SUSPEND 1WD END READ"
44WL BRN SETX1
45B= SETX2 CHAIN 3,2 [CHAIN BLOCK INTO AOLPT ACTIVITY
45TW LDX 0 ICA(2)
46*G BNG 0 (5) [J. IF NO READ PERI UP
46T6 SBX 5 1
47#Q SETX6 DOWN CONIPB,3 [DEAL WITH READ PERI
47SB ADX 5 1
48#2 EXIT 5 0
48RL SETX3 MHUNTW 3,AMXOR,ICONIN
49?= MHUNTW 2,AMXOR,CONDCB
49QW SETX LDCT 0 #20
4==G ANDX 0 A1+IDSTATUS(2)
4=Q6 BZE 0 SETX5 [INPUT BLOCK UNLESS CLOSE DOWN SET
4?9Q LDX 6 ALOGLEN(3)
4?PB FREECORE 3
4#92 SBS 6 INLOAD(2) [DECREMENT INPUT OVERLOAD COUNT
4#NL EXIT 5 0
4*8= VNSCT MHUNTW 3,AMXOR,IOUT
4*MW VNOUT LDX 2 FX2 [RESET POSN IN BLOCK
4B7G LDX 0 AWORK4(2)
4BM6 STO 0 AWORK1(2)
4C6Q BNZ 0 (5)
4CLB LDX 0 ALOGLEN(3)
4D62 SBS 0 IOUTLOAD(2)
4DKL FREECORE 3 [FREE IF BLOCK EMPTY
4F5= EXIT 5 0
4FJW [***** END OF SUBROUTINES ******
4G4G [***** K1 ENTRY POINT ******
4GJ6 XK1
4H3Q XK3 SMO 5
4HHB BRN TABLE
4J32 TABLE BRN XILL
4JGL BRN XK5
4K2= BRN XK6
4KFW BRN XK7
4K^G NULL
4LF6 BRN XK9
4LYQ BRN XK10
4MDB BRN XK11
4MY2 BRN XK12
4NCL BRN XK13
4NX= BRN XK14
4PBW BRN XK15
4PWG BRN XK16
4QB6 BRN XK17
4QTQ CALL 5 SETZ
4R*B BRN XCCAA
4RT2 CALL 5 SETZ
4S#L BRN NXTBL
4SS= CALL 5 SETZ
4T?W BRN XC11
4TRG CALL 5 SETZ
4W?6 BRN XC12
4WQQ CALL 5 SETZ
4X=B CALL 5 SETSR
4XQ2 BRN XC11
4Y9L TA25 BRN RENIT
4YP= TA26 BRN TEST
4^8W XC11 MHUNTW 2,AMXOR,CONDCB
4^NG ADX 2 7
5286 LDX 0 A1+IDSTATUS(2)
52MQ SRC 0 10
537B BPZ 0 S54Z [J. UNLESS INOPERABLE SET
53M2 SLC 0 9
546L BPZ 0 S42Z [J. UNLESS CLOSED SET
54L= ANDN 0 3
555W BZE 0 XC2 [J. UNLESS CLOSING OR CR. CLOSING SET
55KG LDX 0 A1+IDSTATUS(2)
5656 BNG 0 S42Y [J. IF OPENING SET
56JQ CALL 5 SETYZ [INPUT CLOSE IMPLEMENTED
574B XC12 LDN 4 1 [SET CLOSED
57J2 XC8 LDN 5 #1000 [INOPERABLE
583L NGX 6 XMSK1(1) [UNSET OPENING,CLOSING,CRASH CLOSING
58H= XC7 MHUNTW 2,AMXOR,CONDCB
592W ADX 2 7
59GG ANDX 5 A1+IDSTATUS(2)
5=26 ORS 4 A1+IDSTATUS(2)
5=FQ ANDS 6 A1+IDSTATUS(2)
5=^B BZE 5 NXTBL
5?F2 XC2 LDCT 4 0
5?YL BRN XC10
5#D= XX17
5#XW XK2
5*CG [***** K2 ENTRY POINT ******
5*X6 CALL 5 SETX3
5BBQ XK17 MHUNTW 2,AMXOR,CONDCB
5BWB ADX 2 7
5CB2 LDN 4 0
5CTL XC10 LDX 5 A1+IDSTATUS(2)
5D*= SRC 5 9
5DSW BPZ 5 XC3 [J. UNLESS CANCEL ATTACH SET
5F#G ORS 4 A1+IDSTATUS+1(2)
5FS6 XC6 LDCT 0 #77
5G?Q ANDX 0 A1+IDSTATUS+1(2)
5GRB BNZ 0 XC3 [J. UNLESS CHANGE MODE COUNT ZERO
5H?2 SLC 5 8
5HQL BPZ 5 XC1 [J. UNLESS C-OSED SET
5J== NGN 0 #401
5JPW ANDS 0 A1+IDSTATUS(2) [UNSET CANCEL ATTACH
5JRS ... LDX 3 5
5JTQ ... SMO FX2
5JXN ... LDXC 0 CONREL
5J^L ... BCC XC1
5K3J ... CALL 5 ZNINU
5K5G ... CALL 5 REINI
5K7D ... LDX 5 3
5K9G XC1 SRC 5 8
5KP6 XC4
5L8Q XC3 SRC 5 1
5LNB BPZ 5 NXTBL [J. UNLESS DEALING WITH INOPERABILITY
5M82 LDN 6 44
5MML BRN XCCB
5N7= XK15 MHUNTW 2,AMXOR,CONDCB
5NLW ADX 2 7
5P6G NGN 5 #1001
5PL6 ANDX 5 A1+IDSTATUS(2)
5Q5Q SRC 5 9
5QKB BRN XC6
5R52 S42Z ANDN 0 3
5RJL BZE 0 S42X [J. UNLESS CLOSING OR CR. CLOSING SET
5S4= CALL 5 SETYZ [INPUT CLOSE IMPLEMENTED
5SHW MHUNTW 2,AMXOR,CONDCB
5T3G ADX 2 7
5TH6 S42X LDX 0 A1+IDSTATUS(2)
5W2Q BPZ 0 S32Y [J. UNLESS OPENING SET
5WGB S42Y LDN 4 #3400
5X22 CALL 5 SETIL [INPUT ILLEGAL 28
5XFL LDN 4 #201 [CLOSE IDENTIFIER AND CLOSED
5X^= BRN XC8
5YDW S54Z SLC 0 10
5YYG ANDN 0 6
5^D6 BZE 0 XC2 [J. UNLESS CLOSING OR CR. CLOSING SET
5^XQ LDN 4 0
62CB SBX 2 7
62X2 LDCT 0 #60
63BL ANDX 0 A1+IDSTATUS(2)
63W= BNZ 0 S54Y [J. IF INITIALISE OR CLOSE DOWN SET
64*W XK16 CALL 5 SETX3
64TG S54Y LDN 5 1 [CLOSED
65*6 NGN 6 7 [UNSET CLOSING,CRASH CLOSING
65SQ BRN XC7
66#B XK6 CALL 5 SETX3
66S2 XK5 CALL 5 SETSR
67?L BRN NXTBL
67R= XK7 CALL 5 SETX3
68=W BRN NXTB2
68QG XK9 CALL 5 SETYZ [INPUT CLOSE IMPLEMENTED
69=6 MHUNTW 2,AMXOR,CONDCB
69PQ ADX 2 7
6=9B LDN 0 #2000
6=P2 ANDX 0 A1+IDSTATUS(2)
6?8L BZE 0 XCCAA [J. UNLESS FREE SET
6?N= CALL 5 VNSCT
6#7W BRN VRJEN [GO TO SEND FREE IF REQUIRED
6#MG XK13 CALL 5 SETX3
6*76 XK10 MHUNTW 2,AMXOR,CONDCB
6*LQ ADX 2 7
6B6B S32Y LDN 0 #4000
6BL2 ANDX 0 A1+IDSTATUS(2)
6C5L BNZ 0 S32Z [J. IF UNAVAILABLE SET
6CK= LDN 6 #172 [INPUT DEVICE UNAVAILABLE
6D4W CALL 5 SETYV
6DJG MHUNTW 2,AMXOR,CONDCB
6F46 ADX 2 7
6FHQ S32Z LDN 0 #200
6G3B ANDX 0 A1+IDSTATUS(2)
6GH2 BNZ 0 S32Z1 [J. IF CLOSE IDENTIFIER SET
6H2L LDN 6 #161 [INPUT CLOSE IDENTIFIER
6HG= CALL 5 SETY
6H^W S32Z1 LDN 4 #4200 [UNAVAILABLE AND CLOSE IDENTIFIER
6JFG BRN XC8
6J^6 XK11 CALL 5 SETY
6KDQ NXTBL LDX 2 FX2
6KYB BRN NXTB2
6LD2 XK12 CALL 5 SETY
6LXL LDX 2 FX2
6MC= BCHX 2 £
6MWW LDCH 6 CONREL(2)
6NBG BZE 6 NXTBL [J IF CC AH
6NW6 BRN XCCB
6P*Q XK14 CALL 5 SETX3
6PTB BRN XCCAA
6Q*2 TEST [TELL PROGRAM ITS ONTE
6QSL MHUNTW 2,AMXOR,CONDCB
6R#= ADX 2 7
6RRW LDN 0 #3000
6S?G ANDX 0 A1+IDSTATUS(2)
6SR6 BNZ 0 ZENCM [J IF INOP OR FREE AS PROGRAM KNOWS I
6T=Q LDX 0 A1+IDSTATUS(2)
6TQB BPZ 0 NOPENI [J IF NOT OPENING
6W=2 LDX 4 0
6WPL ANDN 0 6
6X9= BZE 0 ONLO [J IF NOT CLOSING NOR CRASH CLOSING
6XNW ANDN 4 1
6Y8G BNZ 4 ZOPCL [J IF OPEN THEN CLOSE
6YN6 CALL 5 SETYZ [SEND CLOSE IMPLEMENTED
6^7Q ONLO LDN 4 #3420 [ILLEGAL 28 TO OPEN
6^MB CALL 5 SLICO
7272 BRN TECMT
72LL ZOPCL LDN 4 #3420 [ILLEGAL 28 TO OPEN
736= CALL 5 SLICO
73KW MHUNTW 2,AMXOR,CONDCB
745G ADX 2 7
74K6 LDX 0 A1+IDSTATUS(2)
754Q ANDN 0 2
75JB LDN 4 #0126
7642 BZE 0 ZCLNCR [J IF NOT CRASH CLOSING
76HL LDN 4 #0127
773= ZCLNCR
77GW CALL 5 SLICO
782G BRN TECMT
78G6 NOPENI
78^Q ANDN 0 7
79FB BZE 0 YSOP [J IF OPEN
79^2 ERN 0 1
7=DL BZE 0 ZCMT [J IF CLOSED
7=Y= CALL 5 SETYZ [SEND CLOSE IMPLEMENTED
7?CW BRN ZCMT
7?XG YSOP
7#C6 LDN 0 #4000
7#WQ ANDX 0 A1+IDSTATUS(2)
7*BB BNZ 0 S32Z2 [J. IF UNAVAILABLE SET
7*W2 LDN 6 #172 [INPUT DEVICE UNAVAILABLE
7B*L CALL 5 SETYV
7BT= MHUNTW 2,AMXOR,CONDCB
7C#W ADX 2 7
7CSG S32Z2 LDN 0 #200
7D#6 ANDX 0 A1+IDSTATUS(2)
7DRQ BNZ 0 S32Z3 [J. IF CLOSE IDENTIFIER SET
7F?B LDN 0 #200
7FR2 ORS 0 A1+IDSTATUS(2)
7G=L [ ELSE SET IT
7GQ= LDN 6 #161 [INPUT CLOSE IDENTIFIER
7H9W CALL 5 SETY
7HPG S32Z3
7J96 BRN ZENCM [CAN IGNORE CM WHEN WAITING FOR CLOSE
7JNQ TECMT LDXC 0 GSIGN [SET CLOSE IDENTIFIER
7K8B ZCMT LDN 4 0
7KN2 SLL 4 7
7L7L MHUNTW 2,AMXOR,CONDCB
7LM= ADX 2 7
7M6W ORS 4 A1+IDSTATUS(2) [SET CLOSE IDENT IF NEEDED
7MLG LDX 0 A1+IDSTATUS+1(2)
7N66 SLC 0 9
7NKQ ANDN 0 #77
7P5B BZE 0 ZENCM [J IF CM CT ZERO
7PK2 LDN 4 #200
7Q4L ORS 4 A1+IDSTATUS(2) [SET CLOSE IDENT
7QJ= LDX 2 FX2
7R3W ORX 2 CACT [CHAR. 3
7RHG TCMLP SBN 0 1
7S36 DCH 0 CONREL(2)
7SGQ LDN 4 #3430 [ILLEGAL ON TEST TO CHANGE MODE
7T2B CALL 5 SLICO
7TG2 LDX 2 FX2
7T^L ORX 2 CACT
7WF= LDCH 0 CONREL(2)
7WYW BNZ 0 TCMLP [J UNLESS ALL CM.S ANSWERED
7XDG ZENCM
7XY6 LDX 2 FX2
7YCQ BCHX 2 £
7YXB LDCH 6 CONREL(2) [IPBCCB TABLE ENTRY FOR RETURN
7^C2 BNZ 6 XCCB [RETURN UNLESS CC AH
7^WL ZCAH [CANCELLING ATTACH
82B= CALL 1 SHDCB
82TW ALTLENGR 2,3,SHDCB [ADD 1 RING ELEMENT
83*G CALL 1 SHDCB
83T6 ADDRELT 2,NULL [SET RING ELEMENT FORMAT
84#Q CALL 1 SHDCB
84SB LDX 3 2
85#2 ADX 2 7 [ADDR. OF OLD ELEMENT
85RL LDX 7 ALOGLEN(3)
86?= SBN 7 CONDCBLEN
86QW ADX 3 7 [NEW RING ELEMENT
87=G ADN 3 A1
87Q6 ADN 2 A1
889Q MOVE 2 CONDCBLEN
88PB NGX 0 7
8992 SBN 0 A1
89NL STO 0 BSTART(3) [SET BSTART
8=8= LDX 0 IDSTATUS(2) [IF 7900 INOP WE MUST NOT
8=MW ANDN 0 #1000 [SET CCAH IN ORIG. ELEMENT
8?7G BZE 0 ZZOP [J IF 7900 OPERABLE
8?M6 LDN 4 1 [SET X4 =1, 7900 INOP
8#6Q BRN ZZOP1
8#LB ZZOP LDN 4 0 [SET X4=0 , 7900 OPERABLE
8*62 ZZOP1 NGN 0 #3001
8*KL ANDS 0 IDSTATUS(2) [UNSET INOP AND FREE
8B5= CALL 5 ZDHNU
8BJW LDX 2 BPTR(3) [ADEVS ENTRY
8C4G STOZ BPTR(3)
8CJ6 RINGTWO 0(2),0(3) [ENRING ADEVS TO NEW CONDCB ENT
8D3Q LDN 0 #400
8DHB ORS 0 IDSTATUS(3) [SET CANCEL-ATTACH
8F32 ORS 0 IDSTATUS+1(3) [SET TO BE DETACHED
8FGL CALL 5 ZLON
8G2= LDN 6 61
8GFW BRN XCCB
8G^G ZDHNU LDXC 0 IDSTATUS(2) [NOT CCAH IF OPENING
8HF6 BCS ZSCJ1
8HYQ [ J TO SET CLOSED IF OPENING
8JDB BNZ 4 ZZOP2 [DONT SET CCAH IF 7900 INOP
8JY2 ANDN 0 1
8KCL ERN 0 1
8KX= SLL 0 8
8LBW ZZLZ1 ORS 0 IDSTATUS(2) [SET CCAH IF CLOSED NOT SET
8LWG ZZOP2 SBN 2 A1
8MB6 BRN ZNIA
8MTQ ZSCJ1 LDN 0 1
8N*B BRN ZZLZ1
8NT2 RENIT
8P#L MHUNTW 2,AMXOR,CONDCB
8PS= ADX 2 7
8Q?W LDXC 0 A1+IDSTATUS(2)
8QRG BCS ZSCJ2
8R?6 [ SET CLOSED INSTEAD OF CCAH IF OPENIN
8RQQ ANDN 0 1
8S=B ERN 0 1
8SQ2 SLL 0 8
8T9L ZZLZ2 ORS 0 A1+IDSTATUS(2) [SET CCAH IF NOT CLOSED
8TP= CALL 5 ZNUCA
8W8W CALL 5 REINI [RE-INITIALISE
8WNG CALL 5 ZLON [WAKE ANY CCAH ACTS
8X86 BRN NXTB2
8XMQ ZSCJ2 LDN 0 1
8Y7B BRN ZZLZ2
8YM2 VRJEN MHUNTW 2,AMXOR,CONDCB
8^6L ADX 2 7
8^L= LDX 0 ZTEMK(1)
925W ANDX 0 A1+IDSTATUS(2)
92KG ERN 0 1
9356 BNZ 0 NXTBL [J IF NOT CLOSED
93JQ LDCT 0 #77
944B ANDX 0 A1+IDSTATUS+1(2)
94J2 BNZ 0 NXTBL
953L [ J IF STILL ON TEST
95H= LDN 0 #400
962W ANDX 0 A1+IDSTATUS(2)
96GG BNZ 0 ZTNVR
9726 LDN 0 #2000
97FQ ANDX 0 A1+IDSTATUS(2)
97^B BZE 0 NXTBL [J IF FREE NOT SET
98F2 ERS 0 A1+IDSTATUS(2)
98YL [ UNSET FREE IF SET (J IF NOT)
99D= LDN 0 #200
99XW ANDX 0 A1+IDSTATUS(2)
9=CG BZE 0 NXTBL [J IF CLOSE IDENT NOT SET
9=X6 ERS 0 A1+IDSTATUS(2) [UNSET CLOSE IDENT
9?BQ LDN 6 #173
9?WB CALL 5 SETY [SEND FREE
9#B2 BRN NXTBL
9#TL ZTNVR CALL 5 ZNINU [NULL RINGS
9**= CALL 5 REINI [RE-INITIALISE
9*SW LDX 0 CONREL(2)
9B#G ERX 0 CACT
9BS6 ANDX 0 CACT
9C?Q BZE 0 RLCL [J IF RELEASING
9CRB MHUNTW 2,AMXOR,CONDCB
9D?2 ADX 2 7
9DQL ADN 2 A1
9F== STO 2 BPTR(2) [SET RING EMPTY
9FPW STO 2 FPTR(2)
9G9G SUBRELT 2
9GP6 BRN NXTB2
9H8Q RLCL MHUNTW 2,AMXOR,CONDCB
9HNB LDEX 0 A1+IDSTATUS(2) [CLOSE-DOWN COUNT
9J82 SBN 0 1
9JML DEX 0 A1+IDSTATUS(2)
9K7= BNZ 0 NXTBL [J UNLESS FINISHED
9KLW ZES
9L6G FSHSKIP
9LL6 SUICIDE
9M5Q FSHCODE AORB
9MKB ACROSS IPBCCC,5
9N52 ...NXTB2 ACROSS IPBCCA,4
=HXL XILL CALL 5 SETIL
=JC= XBACK
=JWW XCCAA MHUNTW 3,AMXOR,IOUT
=KBG CALL 5 VNOUT
=KW6 BRN NXTB2
=L*Q XCCB
=LBN ... LDX 0 6
=LCL ... SBN 0 36
=LDJ ... BNG 0 X1
=LFG ...X0 ACROSS IPBCCB,1
=LGD ...X1 ADN 0 2
=LHB ... BNG 0 X3
=LJ# ...X2 ACROSS IPBCCC,3
=LK= ...X3 ADN 0 2
=LL8 ... BPZ 0 X0
=LM6 ... ADN 0 6
=LN4 ... BPZ 0 XIL17
=LP2 ... ADN 0 4
=LPY ... BPZ 0 X2
=LQW ... ADN 0 1
=LRS ... BZE 0 XIL17
=LSQ ... ADN 0 6
=LTN ... BPZ 0 X2
=LWL ... ADN 0 2
=LXJ ... BPZ 0 XIL17
=LYG ... ADN 0 3
=L^D ... BPZ 0 X2
=M2B ... ADN 0 1
=M3# ... BZE 0 X0
=M4= ... ADN 0 5
=M58 ... BPZ 0 XIL17
=M66 ... ADN 0 2
=M74 ... BPZ 0 X2
=M82 ... BRN X0
=M8Y ...XIL17
=M9W ... LDN 4 #2100
=M=S ... LDN 5 0
=M?Q ... BRN XK1
=M*2 #END
^^^^ ...061730540005