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