LPTSPL has been able to do printing to different devices for quite some
time; at least since Tops-20 3A.
At that point, LPTSPL would print to a magnetic tape that could be taken
to another system. This was used for special printers such as a Xerox
9700. The other thing it could do was print to a remote DECnet based
workstation, known as a DN200. This indeed had a PDP-11 in it which was
downloaded with the appropriate code over a synchronous line from a DN20
(connected to the 20 via a DTE). The network code in LPTSPL had one of
my favorite conditional names of all time: NURD, for Network Unit Record
Device.
There were thus two ways to get other devices. One was to make them
function as a variation of a magnetic tape. Columbia's serial
Printronix TTY: based printers were done this way. The other way was to
look like a NURD. What I did was wrote a program that looked like a
DN200, called LSRV. The first 20 to 20 network print was done in 1980
with LSRV; got me my first merit raise.
All of the NURD code for LPTSPL still exists, but LSRV sadly does not.
Carnegie-Mellon went a 3^rd way by linking DAPLIB in and using that to
do DAP printing. A lot of modifications had to be made in order to make
DAPLIB be able to handle the LPTSPL co-routines. That was really hairy
when I ported the CMU code to our LPTSPL in order to get Scribe to work
right (its 9700 output was not documented and had to be reverse engineered)
I am unaware of any TCP: support in LPTSPL of any kind; it doesn't know
from lpr, even though this is trivial.
There is something called TCPSPL, which is a vastly modified LPTSPL with
full multi-forking. It's nearly a full rewrite. Since GLXLIB is not
re-entrant, the routines that it uses had to be rewritten to support
this and are specific to TCPSPL.
About four years or so ago, I had been working on a multi-forking high
performance version of BATCON, but I was looking at the approach of
making GLXLIB re-entrant. A printer spooler for TCP: would be
straightforward enough to adapt from this.
Then I joined HECnet which has provided me with a great abundance of
bugs to fix, features to finish and enhancements to make. And many
rabbit holes...
------------------------------------------------------------------------
On 5/4/22 7:28 AM, Peter Lothberg wrote:
Tops20 lptspl can write to a printer over DECnet (printer on VMS box),
a printer on a serial port, a printer on a LAT server and a printer
attached to the PDP11 in the KL...
There was code to print over IP, but I can't find it.
-P