1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-30 21:41:56 +00:00

Make XGP/GLP work when you're not at MIT.

This is mostly replacing references to AI:/MC: with DSK:, so this can be
used with a local spool directory.
This commit is contained in:
Adam Sampson
2018-05-10 23:31:05 +01:00
committed by Adam Sampson
parent 124b021123
commit ae355003f2

View File

@@ -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,<sixbit/ Q/-" > ; 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.