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 3rd 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.
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