{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PCTSTART867)}}
====== PCTSTART867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:DERING|DERING]], [[george:macro:DOWN|DOWN]], [[george:macro:EMPTY|EMPTY]], [[george:macro:ENRING|ENRING]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FSHACTPR|FSHACTPR]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHKILL|FSHKILL]], [[george:macro:GETCORE|GETCORE]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNTACT|HUNTACT]], [[george:macro:JOBCONS|JOBCONS]], [[george:macro:LFBITSET|LFBITSET]], [[george:macro:LGEOG|LGEOG]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:NAMEX|NAMEX]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SUICIDE|SUICIDE]]
22FL #LIS K0PCTSTART>K0PCT>K0ALLGEO>K0GREATGEO
22^= #SEG PCTSTART8 [G CONSTANTINIDES
2394 ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23DW 8HPCTSTART
23YG # ENTRY POINTS
24D6 SEGENTRY K1PCTSTART,Z1PCTSTART
24XQ MENDAREA APCTGAP,K99PCTSTART
25CB [
25X2 [ THIS SEGMENT SETS UP ALL BUFFER BLOCKS ASSOCIATED WITH PCT ACTIVITIES
26BL [ IT THEN GOES ACROSS TO COMPRO (FOR A CPA) AND TO LISTEND (FOR ACTLF'S)
26W= [
27*W #
27TG #
28*6 #DEF MINCLEAR=ACTBUFF>ATRBUFF>CIBUFF>CRBUFF-EWAIT
28SQ #
29#B XBLEN [TABLE OF BLOCK LENGTHS
29S2 #
2=?L +ALFBLOKLEN [A7020/ALIST BLOCK (LINE PRINTER)
2=R= +CRBLOKLEN [A7020/INPUT BLOCK (CARD READER)
2?=W +ATWBLOKLEN [A7020/CONSIN BLOCK
2?QG +ATRBLOKLEN [A7020/INPUT BLOCK (TAPE READER)
2#=6 +ALFBLOKLEN [A7020/ALIST BLOCK (TAPE PUNCH)
2#PQ #
2*9B #
2*P2 XBNAME [TABLE OF BLOCK TYPES
2B8L #
2BN= #HAL +A7020+ALIST,0
2C7W #HAL +A7020+INPUT,0
2CMG #HAL +A7020+CONSIN,0
2D76 #HAL +A7020+INPUT,0
2DLQ #HAL +A7020+ALIST,0
2F6B #
2FL2 #
2G5L WHICHSEG [BRANCH TABLE FOR DECIDING IF
2GK= # [WE CREATED AN ACTLF OR CPAT
2H4W BRN XLFA1 [LP - LISTFILE ACTIVITY
2HJG BRN XCPA1 [CR - CARD I/P CPA
2J46 BRN XCPA3 [TW - OPERATORS CPA
2JHQ BRN XCPA2 [TR - TAPE I/P CPA
2K3B BRN XLFA2 [TP - LISTFILE ACTIVITY
2KH2 #
2L2L TYPBAS [TABLE OF BASIC PL TYPE ACCESSED BY 7020 TYPE.
2LG= 2,3,63,0,1 [LP,CR,TW,TR,TP
2L^W #
2MFG STX #76220000
2M^6 XETX #76007623
2NDQ #
2NYB XCONTEXT #00000222 [REMOTE, OPERATOR, NO USER
2PD2 ZCONTEXT #00020242 [REMOTE, NO BREAKIN, NO USER
2PXL #
2QC= Z1PCTSTART [ENTRY FOR SETTING UP THE PCT
2QWW [BUFFER
2RBG #
2RW6 [REMEMBER X4=DEVICE RECORD WORD(2ND) X5=IDENTIFIER WORD
2S*Q [JSOURCE1 = IDUNIQUE
2STB #
2T*2 LDX 6 JSOURCE1(2)
2TSL LDCH 0 6 [L#
2W#= LDCT 3 #200
2WRW LDCH 7 4(3) [X7 = INTERFACE NO.
2X?G ANDN 4 #77 [X4=7020 TYPE
2XR6 SMO 4
2Y=Q LDX 3 TYPBAS-1(1) [X3 =BASIC TYPE
2YQB DCH 3 6 [X6=AA/T#
2^=2 SRC 6 6 [T#/AA/0
2^PL DCH 7 6 [X6= T#/AA/INTERFACE NO.
329= STO 6 JSOURCE1(2)
32NW SLL 0 9 [X0 = 0/L#/0
338G LDCT 3 #500
33N6 ORX 3 0 [X0=PCT/L#/0
347Q STO 3 JSOURCE2(2)
34MB SMO 4 [ACCESS
3572 LDX 6 XBLEN-1(1) [BUFFER BLOCK LENGTH
35LL GETCORE 6,1,1,1,2 [GET THE BUFFER AT THE TOP OF CORE
366= FINDCORE 3 [POINTER IN X3
36KW SMO 4 [GET
375G LDX 0 XBNAME-1(1) [AND
37K6 NAMEX 3 [NAME THE BUFFER
384Q EMPTY FPTPCT(3) [CLEAR THE PCT RING ELEMENTS
38JB STO 5 APCTID(3) [SET IDENTIFIER
3942 STOZ EWAIT(3) [CLEAR
39HL LDN 0 EWAIT(3) [THE INDICATOR AREA
3=3= LDN 1 EWAIT+1(3) [OF
3=GW MOVE 0 MINCLEAR [THE BUFFER BLOCK
3?2G NXTBK LDX 2 JOBRING+1(2) [FIND
3?G6 SBN 2 JOBRING [THE
3?^Q LDCH 0 ATYPE(2) [PCT
3#FB SBN 0 AMOP/64 [ACTIVITY
3#^2 BNZ 0 NXTBK [BLOCK
3*DL LGEOG ,7
3*Y= HUNT2 2,A7020,INFORM [FIND THE INFORMATION BLOCK
3BCW ...#SKI JSKI17
3BXG ...(
3CC6 ... LDEX 1 APCTID(3)
3CWQ ... ADX 1 2
3DBB ... ADN 1 FPTPCT
3DW2 ... LDX 6 APCTID(3)
3F*L ... ANDX 6 HALFTOP
3FT= ... LDX 0 6
3Q68 ... ANDX 0 APCTSTAT-FPTPCT(1)
3Q6= ... BZE 0 NSPL
3Q6# ... LDN 0 4
3Q6B ... SRC 6 6
3Q6D ... ANDX 6 APCTSTAT-FPTPCT(1)
3Q6G ... BZE 6 STBTS
3Q6J ... ADN 0 2
3Q6L ...STBTS ORS 0 EWAIT(3)
3Q6N ...NSPL
3Q6Q ...)
3Q78 ... LDX 6 2 [REMEMBER INFORMATION BLOCK POINTER
3Q7L ... ENRING FPTPCT(3),BPTPCT(2) [RING IN THE BUFFER BLOCK AT THE END
3Q84 ... [OF THE PCT RING
3Q8G ... DEX 7 JSOURCE2(2)
3Q8Y ... LDN 1 JOBRING(2) [UNRING
3Q9B ... DERING 1 [THE ACTIVITY
3Q9S ... EMPTY JOBRING(2) [FROM THE TEMPORARY RING
3Q== ... SMO 4 [NOW
3Q=N ... BRN WHICHSEG-1 [SPLIT FOR CPA OR ACTLF
3Q?6 ...#
3Q?J ...#
3Q#2 ...XLFA1 LDN 4 #7635 [INSERT C/R INTO ETX BUFFER.
3Q#D ... BRN XLFA
3Q#W ...XLFA2 LDN 4 #7620 [INSERT NULL INTO ETX BUFFER
3Q*# ...XLFA LDN 6 ALFBUFFNUM-1
3Q*Q ... LDX 5 XETX(1)
3QB8 ... ADX 4 STX(1) [SET UP BUFFER FOR SENDING DC3 & ETX
3QBL ... LDN 0 ALFBUFFNUM-1*32
3QC4 ... STO 5 ETXBUFF+1(3)
3QCG ... STO 4 ETXBUFF(3)
3QCY ...XLFB SMO 6 [SET THE RELATIVE BUFFER POINTERS.
3QDB ... STO 0 INTLK(3)
3QDS ... SBN 0 32
3QF= ... BCT 6 XLFB
3QFN ... LDN 1 FPTPCT(3)
3QG6 ... LDEX 5 APCTID(3)
3QGJ ...XK1 LDX 1 FPCT(1)
3QH2 ... LDXC 0 APCTID-FPTPCT(1)
3QHD ... BCC XK1
3QHW ... SMO 5
3QJ# ... LDX 6 APCTSTAT-FPTPCT(1)
3QJQ ... ANDN 6 1
3QK8 ... ORS 6 EWAIT(3) [1901A RJE
3QK= ... FSHCODE B,SNOPRA1
3QK# ...(
3QKB ... LFBITSET A,2
3QKD ... FSHACTPR
3QKG ...SNOPRA1
3QKJ ...)
3QKL ... JOBCONS YBRKN [FIND THE CLUSTER CONSOLE
3QTW ... ACROSS PCTLISTB,1 [GO TO OUTPUT LINE OF ASTERISKS.
3R66 #
3RKQ XCPA1 LDN 4 CRBUFFNUM [NO OF CR BUFFERS
3S5B BRN XCPA
3SK2 XCPA2 LDN 4 ATRBUFFNUM [NO OF TR BUFFERS
3T4L XCPA LDCT 0 #200 [SET THE "READ SINGLESHOT" MARKER
3TJ= STO 4 FREBUFF(3) [SET THE NUMBER OF FREE BUFFERS
3W3W STO 0 EWAIT(3)
3WHG STO 4 BUFFNUM(3) [SAVE THE NUMBER OF BUFFERS
3X36 LDX 0 ZCONTEXT(1) [SET CARD/TAPE READER
3XGQ STO 0 CONTEXT(2) [CONTEXT
3Y2B LDN 0 #61 [SET THE MONITORING
3YG2 STO 0 AMXMSK(2) [FILE MASK
3Y^L LDX 2 6 [POINTER TO INFORMATION BLOCK
3^F= SRL 56 12 [INSERT
3^YW SRL 6 12 [THE
42DG SMO 6 [FLIP
42Y6 ORS 5 APCTD(2) [BIT
43CQ HUNTACT AMOP,2 [FIND, AND WAKE UP, THE PCT ACTIVITY.
43XB LONGCLEA 2,#62,XWAIT
44C2 ...XWAIT ACROSS COMPROA,1 [NOW SET IT GOING PROPERLY.
44WL #
45B= XCPA3 LDX 0 XCONTEXT(1) [SET REMOTE/NO-USER/OPERATOR
45TW STO 0 CONTEXT(2) [CONTEXT
46*G LDN 0 #61 [SET THE
46T6 STO 0 AMXMSK(2) [MONITORING FILE MASK
47#Q ACROSS READOPLN,1 [GET THE COMMAND LINE
47SB #
48#2 YBRKN [BREAK-IN(MOP OFF)
48RL DOWN PCTDIS,1 [RELEASE PERIPHERAL
48W9 ... FSHCODE B,SNOKILLA
48YS ...(
493C ... FSHKILL
4962 ...SNOKILLA
498K ...)
49?= SUICIDE
49QW #
4==G #END
^^^^ ...70502062000100000000