{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PCTDIS8)}} ====== PCTDIS8 ====== (George Source) **Macros used:** [[george:macro:COOR1|COOR1]], [[george:macro:COOR3|COOR3]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:HUNT7020|HUNT7020]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:PCTHUNT|PCTHUNT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TEST|TEST]], [[george:macro:UP|UP]] 22FL #SEG PCTDIS8 [G CONSTANTINIDES 22^= #LIS K0PCTDIS>K0PCT>K0ALLGEO>K0GREATGEO 23DW 8HPCTDIS8 23YG # ENTRY POINTS 24D6 SEGENTRY K1PCTDIS,Z1PCTDIS 24XQ MENDAREA APCTGAP,K100PCTDIS 25CB [ 25X2 [ THIS SEGMENT IS ENTERED FROM LOGOUT WHEN A 7020 CPA IS ABOUT 26BL [ TO COMMIT SUICIDE 26W= [ 27*W # 27TG # THIS SUBR LOCATES THE BUFFER BLOCK IN X1 AND THE INFORM BLOCK IN 28*6 # X3. 28SQ # 29#B XHUNT LDX 1 FX2 [SET START PT = CURRENT ACT 29S2 HUNT7020 1 [FIND BUFFER BLOCK 2=?L LDX 6 APCTID(1) [GET STEP 2=R= ANDN 6 #7777 [FROM SPECIAL WD 2?=W LDX 3 1 [SET START PT = BUFFER BLOCK 2?QG PCTHUNT 3 [SEARCH PCT RING FOR INFORM BLOCK 2#=6 EXIT 7 0 [RETURN 2#PQ # 2*9B # 2*P2 Z1PCTDIS [ENTRY FROM FREEPER 2B8L # FREE THE BUFFER BLOCK AND EXIT. IF DEVICE WAS WAITING TO BE 2BN= # WRONGED MARK IT WRONGED AND SET ACOMMUNE2 NON-ZERO, ELS& ZERO. 2C7W # IF IT WAS AN I/P DEVICE SET ACOMMUNE1 NON-ZERO,ELSE ZERO. 2CMG # 2D76 CALL 7 XHUNT [GET BLOCK POINTERS 2DLQ LDCT 0 4 2F6B ANDX 0 EWAIT(1) [GET 'WAITING TO BE WRONGED' BIT. 2FL2 STO 0 ACOMMUNE2(2) [STORE IT FOR FREEPER 2G5L LDX 5 APCTID(1) 2GK= LDX 7 3 2H4W ANDX 5 HALFTOP ['WRONGED' BIT POSN 2HJG ADX 3 6 [POINTER TO PCT RECORD. 2J46 SLL 5 6 2JHQ BZE 0 NWRNG [J. IF NO WRONGING REQUIRED. 2K3B ERS 5 APCTD(3) [MARK DEVICE WRONGED 2KH2 ERS 0 EWAIT(1) [CLEAR WAITING BIT. 2L2L NWRNG LDX 4 5 [INTERFACE BIT POSN. TO CHAR. 3. 2LG= SLC 4 6 2L^W LDCT 0 #40 [J. UNLESS "PLEASE ENGAGE" 2MFG ANDX 0 EWAIT(1) [BIT WAS SET. 2M^6 SRL 5 6 2NDQ BZE 0 XREQ 2NYB ERS 0 EWAIT(1) [REMOVE THE "PLEASE ENGAGE" MARKERS. 2PD2 LDX 2 3 2PXL NXWD LDX 0 APCTDEV(2) 2QC= ANDX 0 5 2QWW BNZ 0 REMB 2RBG BDX 2 NXWD 2RW6 REMB NGN 0 #101 [#77777677 2S*Q ANDS 0 APCTDEV+1(2) 2STB LDX 2 FX2 2T*2 XREQ SLL 4 6 [TEST THE "INTERFACE ACTIVE" MARKER. 2TSL TEST ANDX 4 APCTX(3) 2W4D ... ANDN 4 #2500 2W#= BNZ 4 WAIT1 [J. IF SET. 2WRW SRL 5 6 [SET THE "NO ACTIVITY" BIT. 2X?G ORS 5 APCTD(3) 2XR6 SRL 5 6 [UNSET FLIP MARKERS 2Y=Q ORS 5 APCTD(3) 2YQB ORS 5 APCTX(3) 2^=2 ERS 5 APCTD(3) 2^PL ERS 5 APCTX(3) 329= FREECORE 1 [FREE THE BUFFER BLOCK. 32NW LDN 4 1 [I/P DEVICE HAS ODD 338G ANDX 4 JSOURCE1(2) [INTERFACE NUMBER 33N6 STO 4 ACOMMUNE1(2) [X4=1 IF I/P DEVICE,ELSE ZERO. 347Q UP 34MB # 3572 WAIT1 LDXC 0 EWAIT(1) [SHOULD ONLY ENTER HERE FOR INPUT DEV 35LL BCC WAIT3 [J. IF AMOP/APCT NOT WAITING. 366= LDX 7 BUFFNUM(1) [MARK ALL BUFFERS AS EMPTY. 36KW STO 7 FREBUFF(1) 375G NXT SMO 7 37K6 STOZ COMMON2-1(1) 384Q BCT 7 NXT 38JB LDCT 6 #200 [SET THE "SINGLE SHOT" MARKER. 38PJ ... LDEX 0 APCTID(1) 38WQ ... SBX 3 0 [POINT TO TOP OF INFORM 3942 HUNT2B 2,AMOP,APCT,3 [AND WAKE UP THE AMOP/APCT 39HL ORS 6 EWAIT(1) 3=3= FPUT 3=GW COOR1 [GO TO SLEEP OURSELVES. 3?2G WAIT2 CALL 7 XHUNT 3?7N ... ADX 3 6 3?#W ... [POINT TO CORRECT ENTRY 3?G6 BRN TEST 3?^Q WAIT3 COOR3 #41 [WAIT FOR AMOP/APCT TO DO SOMETHING. 3#FB BRN WAIT2 3#^2 # 3*DL # 3*Y= # 3BCW #END ^^^^ ...11406250000600000000