Remote job submission from PDP-11

Ethan Dicks ethan.dicks at gmail.com
Wed Oct 7 15:39:53 CDT 2020


On Wed, Oct 7, 2020 at 4:19 PM Peter Coghlan via cctalk
<cctalk at classiccmp.org> wrote:
> > I am looking for the following software products for a PDP-11, ideally to
> > be run on RSX-11M.
> >
> > RJE/HASP
> > 2780/3780 Protocol Emulator
> >
> > My aim is to be able to submit a remote job from a simulated PDP-11 on simh
> > to a simulated IBM/370 on Hercules.
>
> I suspect the products you mention above are designed to interface to a
> real synchronous serial line?

Yes.  The actual hardware was anything from a dumb PIO serial card
where the host CPU does all the protocol, to expensive, intelligent
serial cards that run an entire protocol engine and just push input
and output files across the hardware bus.

>  In my experience with Hercules, simulating
> a generalised synchronous serial line effectively in software is pretty
> fraught.  I don't know if simh attempts to do this or if it allows the
> simulated system access to real synchronous serial hardware in the host
> system.

Synchronous serial lines are not typically a feature in the sort of
machines people are likely to be running something like Simh on,
especially laptops.  I'm sure there were Sync serial cards for ISA but
probably not anything more recent.

What simh does for async muxes like the DZ11 is to open up TCP
sockets, one per serial line, then you connect to those for
interactive sessions and such.

There are no implementations of sync serial devices in Simh.  That
would have to be written in any case.  The DU11 and DUV11 are very
simple PIO serial lines with, IIRC, a COM5025 USART.  It would not be
a huge undertaking to write up a module to emulate one and attach it
to the virtual bus and have it also just open up a TCP socket.

One could use 'netcat' or something similar to open up and talk to
both the PDP-11 socket and the Hercules socket to make the connection.

> The protocol used for 2703 over TCP/IP emulation in Hercules is not really
> up to doing much more than trivial RJE transfers.  It can't really manage
> NJE either. (NJE is mostly just RJE with another layer added on.)

When I did this sort of thing in the 80s and 90s, we didn't have NJE -
we supported RJE over 3780 and HASP (same hardware, different protocol
engine loads).  I remember having to have a list of what the RJE
commands were over each type of console (in particular, I remember
there was IBM and CDC commands that differed).  I also remember using
a bit of JCL to tell the remote (IBM) end where to pipe the files and
where to send the results (line printer, disk file on our end, etc)

> Back in the 1980s, a requirement arose to be able to transport NJE across
> the internet for the BITNET network.  A protocol was devised to enable this
> to be done effectively:
>
> http://www.nic.funet.fi/pub/netinfo/CREN/brfc0002.text

I have heard of this, but I was never on BITNET back in the day.

> I have implemented this protocol in Hercules here:
>
> https://github.com/rbowler/spinhawk/
>
> Unfortunately, this protocol is specific to NJE, it does not work for RJE.

Ah well.

I _think_ the way forward is to choose a 2780/3780 package for the
PDP-11, then write a sync serial device handler for a compatible type
of board, and let TCP connect the dots, so to speak.  If the goal is
to run from a real PDP-11, that's an entirely different matter and
would probably require finding a way to add a USART to modern hardware
to pick up the bytes from the real PDP-11.  This bridge device would
then make a network connection to Hercules to complete the circuit.

-ethan


More information about the cctech mailing list