diff --git a/src/sysen2/xqueue.296 b/src/sysen2/xqueue.297 similarity index 98% rename from src/sysen2/xqueue.296 rename to src/sysen2/xqueue.297 index f4f6e6ed..04df3310 100644 --- a/src/sysen2/xqueue.296 +++ b/src/sysen2/xqueue.297 @@ -41,6 +41,7 @@ nd. datlen==300. ; length of one queue request nd. notbfl==10. ; length in words of maximum /notify argument. nd. txtbfl==100 ; length of TXTBUF (used for reading from file to be printed). nd. maxfnt==16. ; number of fonts allowed (for squishing). +nd. mit==0 ; assume AI/MC exist (if 0, use local spooler) nd. glp==0 ; assembling for the GLP spooler. nd. spldir=='.XGPR. ; spooling directory nd. deffn1==%zeros ; default FN1 @@ -545,10 +546,12 @@ prsfn4: caie a,^J movsi a,'kst ;This also processes any switches inside them. movem a,fntfn2 pushj p,rfname +ifn mit,[ ife glp,[ move b,machin ;Only AI gets new features - RMS. came b,[sixbit /ai/] jrst prsfn4 +] ] syscal open,[[.bii,,chdsk] ? fntdev ? fntfn1 ? fntfn2 ? fntsnm] jrst fntfnf @@ -949,8 +952,11 @@ aitype: skipe debug ; if debugging... push p,x ; save selected file name syscal OPEN,[clctl. .uao ; open in single ASCII output clarg. chque ; QUEue channel +ifn mit,[ ife glp, clarg. sixbit/AI/ ; on the AI machine ifn glp, clarg. sixbit/MC/ ; on the MC machine +] +ife mit, clarg. sixbit/DSK/ ; on this machine clarg. '_QUEUE ; FN1 of _QUEUE clarg. 'OUTPUT ; FN2 of OUTPUT quedir] ; on to the queueing directory @@ -986,8 +992,11 @@ ifn glp, clarg. sixbit/MC/ ; on the MC machine jrst [ movx x,'Q1 ; yes, force priority to be movx b,sixbit/0/ ; next file to be printed... syscal OPEN,[clarg. chdsk ; OPEN up DSK hack channel +ifn mit,[ ife glp, clarg. sixbit/AI/; on the AI machine ifn glp, clarg. sixbit/MC/ ;or MC +] +ife mit, clarg. sixbit/DSK/ ;on this machine x ? b ? quedir]; for the priority queue jrst .+1 ; can queue, no previous jrst cantq] ; can't queue, give stange message @@ -996,9 +1005,11 @@ ifn glp, clarg. sixbit/MC/ ;or MC jrst aidown ; AI/IMP crashed??? pushj p,pqnum ; Type out the "queue number" the file got. .close chque, ; and queue it +ifn mit,[ ife glp,[ move a,machin ; On AI, print sizes of queues. camn a,[sixbit /ai/] ; Other machines don't get new features. +] ] pushj p,pqsize ; Besides, this implementation would be too slow. jrst fetch ; Now maybe get another TTY command @@ -1062,11 +1073,14 @@ repeat 2,[push p,y ; save rest of date jrst quecr ; and stick in a cr/lf ;Output the filenames into the queue file. -quefil: move b,device +quefil: + move b,device +ifn mit,[ move a,machin camn b,['DSK,,] movem a,device movei b,device +] move d,[440700,,fnmbuf] pushj p,rfn"pfn ; Convert text file name to a string. move d,[440700,,fnmbuf] @@ -1285,8 +1299,11 @@ canwin: addx c, ; convert to SIXBIT queue name(ie, Qn) caie c,^M ; insist on an EOL jrst canluz ; lost syscal DELETE,[ +ifn mit,[ ife glp, clarg. sixbit/AI/; flush request on AI machine ifn glp, clarg. sixbit/MC/ ;or MC +] +ife mit, clarg. sixbit/DSK/ ;on this machine fn1 ? w ; queue class/priority clarg. spldir] ; spooling directory caia ; lost @@ -1303,16 +1320,20 @@ canluz: type [Error; Improper syntax for ;CANCEL ; Do a ;CANCEL nnn first if you want it to be cancelled. quit: ife glp,[ +ifn mit,[ move a,[sixbit/AICLI/] ; Use device name AICLI if not on AI. movsi b,(sixbit/AI/) camn b,machine ; Use just CLI if on AI. +] movsi a,'CLI syscal open,[[.uao,,chdsk] ? a ? [sixbit/XGP/] ? [sixbit/XGPSPL/]] ] ifn glp,[ +ifn mit,[ move a,[sixbit/MCCLI/] ; Use device name MCCLI if not on MC. movsi b,(sixbit/MC/) camn b,machine ; Use just CLI if on MC. +] movsi a,'CLI syscal open,[[.uao,,chdsk] ? a ? [sixbit/GLP/] ? [sixbit/GLPSPL/]] ] @@ -1335,14 +1356,18 @@ cantq: tlnn f,f%tty ife glp,[ type [Error; Sorry, XGP queueing temporarily forbidden ] - syscal OPEN,[ [.uai,,chdsk] ? [SIXBIT /AI/] + syscal OPEN,[ [.uai,,chdsk] +ifn mit, [SIXBIT /AI/] +ife mit, [SIXBIT /DSK/] [SIXBIT /XGP/] ? [SIXBIT /NOTICE/] [SIXBIT /.XGPR./]] ] .else [ type [Error; Sorry, GLP queueing temporarily forbidden ] - syscal OPEN,[ [.uai,,chdsk] ? [SIXBIT /MC/] + syscal OPEN,[ [.uai,,chdsk] +ifn mit, [SIXBIT /MC/] +ife mit, [SIXBIT /DSK/] [SIXBIT /GLP/] ? [SIXBIT /NOTICE/] [SIXBIT /.GLPR./]] ] @@ -1474,7 +1499,9 @@ prsc3e: sojl d,prsc1 ;Look through the semicolon commands in the first page of the input file for a ;SQUISH. -sqchk: move a,device ;But first, if we are not on AI and the file is, +sqchk: +ifn mit,[ + move a,device ;But first, if we are not on AI and the file is, and a,[777700,,] ;it would be more efficient to let the spooler squish. ife glp, came a,[sixbit /ai/] .else came a,[sixbit /mc/] @@ -1483,6 +1510,7 @@ ife glp, came a,[sixbit /ai/] ife glp, camn a,[sixbit /ai/] .else camn a,[sixbit /mc/] jrst sqchk0 +] tlz f,f%sqsh ;So if that's the case, don't look in file for ;SQUISH popj p, ;and if the user gave it as a switch, just pass to spooler.