(George Source)
Macros used: ACROSS, BXE, BXL, CCBB, CHAIN, CIPCM, CLEAR, COOR1, DECLINK, DEMAND, DESUSPEND, DOWN, FINDACTFB, FINMOVE, FPUT, FPUTCHA, FREECORE, FSHCODE, FSHSKIP, GEOERR, GETACT, HUNT2, HUNT2OPT, HUNTW, JDISENG, JIPCM, JIPCMC, JRESET, LGEOG, LINKSET, LONGON, LONGSET, MENDAREA, OPB, OPC, OUTNUM, PAIR, RESTART, RINGACT, SEG, SEGENTRY, SIPCM, SREP, SUICIDE, TICKLE, TRACE
22FL SEG IPCOND,,JOHN BAILEY 22^= # 23DW SEGENTRY K1IPCOND,X1IPCOND 23YG SEGENTRY K2IPCOND,X2IPCOND 24D6 # 24XQ # STORED WORDS 25CB XOOX #40000001 25X2 RNINE #02400000 26BL RESBITS #777700 26W= TBIT1 #20000000 27*W TIPBACT +IPCA+IPCBX 27TG XERR +4 [MAX NR OF ERRORS ALLOWED 28*6 TMESSCODES #04000040 28SQ #04000041 29#B #04000042 29S2 #04000043 2=?L #04000046 2=R= #03000047 2?=W #07000060 2?QG #07000061 2#=6 #04000066 2#PQ #03000067 2*9B #02000070 2*P2 #02000071 2B8L #03000077 2BN= # SUBROUTPNE TO LOCATE LINK ELEMENTS IN STACK 2C7W # GIVEN THE LINK IDENTIFIER IN ACOMMUNE1(2) [X2 MUDT = FX2 2CMG # ADDRESS IS LEFT IN X3. LINK IS X7. ON EXIT X1=FX1 2D76 # 2DLQ SREL LDX 3 IPCPTR(2) [FIND IPC ACTIVITY 2F6B HUNT2 3,IPCD,IPSTACK [FIND STACK BLOCK 2FL2 LDX 1 ARINGNO(3) 2G5L ANDN 1 #7777 2GK= BZE 1 SFR1 [STACK EMPTY 2H4W ADN 3 A1 2HJG SFR3 LDX 0 ALINUM(3) 2J46 BXE 0 ACOMMUNE1(2),SFR2 2JHQ ADN 3 ARECLEN 2K3B BCT 1 SFR3 2KH2 SFR1 NGN 3 1 2L2L SFR2 LDX 1 FX1 2LG= EXIT 7 0 2L^W # SUBROUTINE USED TO SET OBJECT PROGRAM REPLIES 2MFG # 2M^6 SREP 2NDQ LDX 3 ACOMMUNE1(2) 2NYB STO 4 ACC4(2) 2PD2 STO 5 ACC5(2) 2PXL STO 7 ACC7(2) 2QC= LDX 5 AREPPTR(3) 2QWW LDX 3 FPTR(3) 2RBG SBN 3 ARINGEL [ADDRESS OF AOLPT 2RW6 #SKI G3 2S*Q FINDACTFB 3,,APET,,,BPTR [ADDRESS OF AOLPTS PCA 2STB #SKI IPCG4 2T*2 HUNT2 2,ADATA,HLOCKDOWN,3 2TSL SMO FX2 2W#= LDN 4 ACOMMUNE2 2WRW LDN 7 1 2X?G FINMOVE 3,5,4,7,HLOCKB1,2,1 2XR6 LDX 2 FX2 2Y=Q LDX 4 ACC4(2) 2YQB LDX 5 ACC5(2) 2^=2 LDX 7 ACC7(2) 2^PL LDX 3 ACOMMUNE1(2) 329= NGNC 0 2 32NW ANDS 0 ASTATUS1(3) 338G STOZ ATIMCT(3) 33N6 STOZ ASTR(3) 347Q STOZ ALENTR(3) 34MB STOZ AREPPTR(3) 3572 LDX 0 ASTMEL(3) 35LL STO 0 AWORK4(2) 366= STOZ ASTMEL(3) 36KW LDX 3 FPTR(3) 375G SBN 3 ARINGEL 37K6 #SKI IPCG4 384Q ( 38JB HUNT2 2,ADATA,HLOCKDOWN,3 3942 CLEAR APETADDR(3),0,HLOCKB1,2,2 39HL LDX 2 FX2 3=3= ) 3=GW CCBB 3 3=P6 ... STO 5 ACC5(2) 3=XB ... LDX 5 AWORK4(2) 3?5L ... TICKLE JOBNO(3),5 3??W ... LDX 5 ACC5(2) 3?G6 LDX 3 ARINGEL(3) 3?^Q EXIT 6 0 3#FB # S/R TO WAIT FOR RESET STATUS TO CLEAR 3#^2 # LINK IS CONTAINED IN X7 3*DL # EXITS+2 WHEN RESET CLEAR,EXITS+1 IF TIMED-OUT,EXITS IF INOPERABLE 3*Y= # ON ENTRY : X1=FX1,X2=FX2=ADDRESS OF APPROPRIATE IPCA/IPCBX 3BCW # 3BXG SWRC SBX 7 FX1 3CC6 LDX 0 CLEANCT 3CWQ ADN 0 5000/K9 3DBB STO 0 IPCPTIME(2) [TIME LIMIT 3DW2 SIPCM RW ["WAITING FOR RESET CLEAR" 3F*L SW1 LDX 0 XOOX(1) 3FT= STO 0 CHAINADD(2) [READY FOR EVENT 3G#W JDISENG ,SW2 [GONE INOPERABLE 3GSG JIPCM TO,SW3 [WAITING TOO LONG 3H#6 JRESET ,SW4 [RESET STATUS STILL SET 3HRQ SW6 CIPCM RW 3J?B STOZ IPCPTIME(2) 3JR2 NGNC 0 1 3K=L ANDS 0 CHAINADD(2) 3KQ= LDX 0 CHAINADD(2) 3L9W SBN 0 1 3LPG BZE 0 SW5 3M96 COOR1 3MNQ SW5 ADX 7 FX1 3N8B EXIT 7 2 3NN2 SW4 COOR1 3P7L BRN SW1 3PM= SW3 CIPCM TO 3Q6W SBN 7 1 3QLG SW2 SBN 7 1 3R66 BRN SW6 3RKQ # THIS SECTION CLEARS AWAY TASKS ASSOCIATED WITH AN 3S5B # IPB & DISESTABLISHES LINKS THROUGH THE IPB. 3SK2 # IT IS USED WHEN AN INITIALISE SEQUENCE IS INITIATED FROM 3T4L # THE OTHER END,AND WHEN DIALOGUE IS SUSPENDED BY THIS END 3TJ= # IT IS A SUBROUTINE,LINK IN X5. 3W3W # 3WHG SCLR SBX 5 FX1 [DISLOCATE LINK 3WR# ... LDX 2 FX2 3X36 SCL3 HUNTW 3,IPCD,ATASK 3XGQ BNG 3 SCL1 3Y2B LDX 0 A1+1(3) 3YG2 SBN 0 1 3Y^L BZE 0 SCL2 [OPEN 3^F= SBN 0 2 3^YW BNZ 0 SCL13 42DG LDX 0 A1(3) 42Y6 STO 0 IPWRB+1(2) 43CQ DOWN IPCONC,20 [GET RID OF CLOSE TASK 43XB BRN SCL3 44C2 SCL13 SBN 0 2 44WL BZE 0 SCL10 [OPEN OFR GEORGE 45B= SCL5 FREECORE 3 45TW BRN SCL3 46*G SCL2 LDX 0 A1(3) 46T6 STO 0 ACOMMUNE1(2) 47#Q DOWN IPCONB,2 47SB BRN SCL3 48#2 SCL4 HUNTW 3,IPCD,ATASK 48RL BRN SCL5 49?= SCL10 LDX 0 A1(3) [OPEN TASK FOR GEORGE LINK 49QW STO 0 ACOMMUNE1(2) 4==G CALL 7 SREL 4=Q6 LDCT 0 #10 4?4H ... ERX 0 ASTATUS2(3) [REMOVE OPEN PROGRESS 4?BY ... ANDS 0 ASTATUS2(3) 4?PB BRN SCL4 4#92 # HAVING CLEARED THE TASK QUEUE,WE NOW DISESTABLISH ALL 4#NL # LINKS THROUGH THE IPB 4*8= SCL1 LDX 3 IPCPTR(2) 4*MW HUNT2 3,IPCD,IPSTACK 4B7G LDX 7 ARINGNO(3) 4BM6 ANDN 7 #7777 4C6Q BZE 7 SCLEX 4CLB ADN 3 A1 4D62 SCL6 LDX 0 ASTATUS2(3) 4DKL SLL 0 1 4F5= BNG 0 SCL7 [NOT ESTABLISHED 4FJW LDX 0 APTRIPB(3) 4G4G TXU 0 FX2 [THROUGH THIS IPB,SO DISESTABLISH 4GJ6 BCC SCL8A 4H3Q SCL7 ADN 3 ARECLEN 4HHB BCT 7 SCL6 [DO NEXT 4J32 SCLEX ADX 5 FX1 [FINISHED 4JGL EXIT 5 0 4K2= # LINK TO BE DISESTABLISHED 4KFW SCL8A LDX 0 BPTR(3) 4K^G BZE 0 SCL7 4LF6 SCL8 LDX 0 ASTATUS1(3) 4LYQ ANDN 0 1 4MDB LDCT 6 #100 4MY2 BZE 0 SCL9 [NO TRANSFER STORED 4NCL LDCT 0 #200 4NX= ANDX 0 ASTATUS1(3) 4PBW BNZ 0 SCL11 [GEORGE LINK 4PWG LDX 0 RNINE(1) 4QB6 STO 0 ACOMMUNE2(2) 4QTQ STO 3 ACOMMUNE1(2) 4R*B CALL 6 SREP [SET DISESTABLISHED REPLY 4RT2 SCL12 4S#L LDCT 6 #40 4SS= SCL9 ORS 6 ASTATUS2(3) 4T?W LDX 0 TBIT1(1) 4TRG ERS 0 ASTATUS2(3) [MARK DISESTABLISHED 4W?6 LDN 0 #7777 4WQQ ANDS 0 ALINUM(3) 4X=B LDCT 0 #200 4XQ2 ANDX 0 ASTATUS1(3) 4Y9L BNZ 0 SCL9A 4YP= STOZ APTRIPB(3) 4^8W SCL9A DECLINK 4^NG BRN SCL7 5286 SCL11 LDX 0 RNINE(1) [SET REPLY FOR GEORGE LINK 52MQ SMO FPTR(3) 537B STO 0 IPCGREP-IPCRNG 53M2 STO 7 6 546L CALL 7 SLACT 54L= STO 6 7 555W DESUSPEND 55KG NGNC 0 2 5656 ANDS 0 ASTATUS1(3) 56JQ ANDS 0 ASTATUS2(3) 574B STOZ ATIMCT(3) 57J2 STOZ ASTR(3) 583L STOZ ALENTR(3) 58H= STOZ AREPPTR(3) 592W STOZ ASTMEL(3) 59GG BRN SCL12 5=26 # S/R TO LOCATE GEORGE ACTIVITY OWNING LINK WHOSE ENTRY 5=FQ # IS POINTED TO BY X3. 5=^B SLACT LDX 2 FPTR(3) 5?F2 SBN 2 IPCRNG [CONTROL BLOCK 5?YL SLACT1 5#D= LDX 2 BPTR(2) 5#XW LDX 0 ATYPE(2) 5*CG BXL 0 CACT,SLACT1 5*X6 EXIT 7 0 5BBQ # DEAL WITH IPB INOPERABLE 5BWB # 5CB2 # 5CTL X1IPCOND 5D*= LDX 3 2 5DSW Q2 HUNT2OPT 3,IPCD,ATASK 5F#G BNG 3 NOP 5FS6 LDX 0 A1+1(3) 5G?Q SBN 0 1 5GRB BNZ 0 Q2 5H?2 CHAIN 3,2 5HQL LDX 0 A1(3) 5J== STO 0 ACOMMUNE1(2) 5JPW DOWN IPCONB,2 5K9G ... BRN X1IPCOND 5KP6 NOP GETACT IPCA,IPCOP [SET UP OPERATOR COMM ACTIVITY 5L8Q TRACE IPWRB(2),IPCONE6 5LNB LDX 3 BPTR(2) 5M82 LDX 4 CPPTR(2) 5MML LONGSET IPCEB,NOPE,4,3 5N7= STO 2 ACC3(3) [ADDRESS OF 5NLW LINKSET 3,OPLNK(1) [SET LINK TO IPCOND,2 5P6G SMO IPCPTR(2) 5PL6 LDX 2 ACTRING 5Q5Q SBN 2 ACTRING 5QKB RINGACT 3,2 5R52 LDX 2 3 5RJL FPUT [START OP COMM ACTIVITY 5S4= NOP1 LDX 0 XOOX(1) 5SHW STO 0 CHAINADD(2) 5T3G JDISENG ,NOP2 5TH6 NGNC 0 1 5W2Q ANDS 0 CHAINADD(2) 5WGB LDX 0 CHAINADD(2) 5X22 SBN 0 1 5XFL BZE 0 NOP3 5X^= NOP2 COOR1 5YDW NOP3 JIPCM CD,NOP4 5YYG NOP5 JDISENG ,NOP1 5^D6 LDX 0 CPRW1(2) [TEST IF PERI STILL UP 5^XQ BNG 0 NOP7 62CB LDX 0 CPRW2(2) 62X2 BNG 0 NOP7 63BL NOP9 JIPCM CD,NOP10 63W= LONGON IPCEB,CPPTR(2) [WAKE UP OP COMM ACTIVITY 64*W JIPCM DS,RESTART 64TG JIPCMC SI,WHOOPS 65*6 BRN NEXTASK 65SQ NOP7 LDX 0 XOOX(1) 66#B STO 0 CHAINADD(2) 66S2 LDX 0 CPRW1(2) 67?L BNG 0 NOP8 67R= LDX 0 CPRW2(2) 68=W BPZ 0 NOP9 [PERI NOW FINISHED 68QG NOP8 COOR1 69=6 BRN NOP7 69PQ NOP4 CALL 5 SCLR 6=9B BRN NOP5 6=P2 NOP10 CIPCM CD 6?8L SIPCM SM 6?N= BRN RESTART 6#7W NOPE GEOERR 1,IPCONE2 6#MG OPLNK PAIR IPCOND,2 6*76 # OUTPUT REQUEST TO ENGAGE IPB 6*LQ # 6B6B X2IPCOND 6BL2 LGEOG CPPTR(3),5 6C5L OUTNUM 5,0 6C6P ... FSHCODE B,XNOTINB 6C7S ...( 6C8X ...# IN THE 'B' MACHINE, WE MUST ENSURE THAT THE REQUEST FOR 6C=2 ...# ENGAGEMENT OF THE IPB IS SENT TO THE 'B' MACHINE CONSOLE 6C?5 ...# 6C#8 ...# THIS IS DONE BY USING A VERSION OF THE 'PLEASE ENGAGE...' MESSAGE 6C*? ...# THAT IS PREFIXED BY THE STRING 'BBBB' 6CBB ...# 6CCF ... DEMAND 1,FSHJMARY,OPC,OPB,OPRB,2,0 6CDJ ...XNOTINB 6CFM ...) 6CGQ ... FSHSKIP B,XSKIPINB 6CHT ...( 6CK= DEMAND 1,JMARY,OPC,OPB,OPR,2,0 6CQD ...XSKIPINB 6CXL ...) 6D4W JDISENG CPPTR(3),OPX [NOT OPERABLE 6DJG OPE SUICIDE 6F46 OPB GEOERR 1,IPCONE3 6FHQ OPC SIPCM CD,3 6GH2 SIPCM DS,3 6GQS ... LDX 3 CPPTR(3) 6H2L FPUTCHA 3 6HG= BRN OPE 6H^W OPX LONGSET IPCEB,OPB,CPPTR(3) 6J9N ... FSHCODE B,XXA 6JFG ... BRN OPRB [IF WE ARE IN B MACHINE 6JKC ... FSHSKIP B,XXB 6JP# ...XXA BRN OPR [IF WE ARE IN A MACHINE 6JT9 ...XXB 6J^6 NEXTASK ACROSS IPCON,1 6KDQ RESTART 6KYB CALL 5 SCLR 6LD2 ACROSS IPCSTART,5 6LXL WHOOPS 6MC= ACROSS IPCONE,1 6MWW MENDAREA 1023-0?,K9IPCOND 6NBG #END ^^^^ ...52301012000500000000