Date: Thu, 25 Feb 2021 12:37:25 -0800
From: Josh Dersch via cctalk <cctalk at classiccmp.org>
On Thu, Feb 25, 2021 at 12:27 PM Al Kossow via cctalk
<cctalk at classiccmp.org>
wrote:
> On 2/25/21 10:43 AM, Chris Zach via cctalk wrote:
>> Oh this is fun stuff. Is there a specification
write-up anywhere on the
>> MASSBUS overall?
> there is some documentation on bitsavers
> the register descriptions were intentionally
obfuscated to prevent cloning
> that was figured out to make SIMH work
Interesting... Is this obfuscation documented anywhere
(beyond looking at
SIMH code?) I was working on an RH11/RPxx emulation for the Unibone that
was partially working (and that I should really get back to...)
Hey, Josh! You could ask our friends Keith Perez (Massbus Disk Emulator v1)
and Bruce Sherry (MDE v2) about it, or even ask me.
The primary obfuscation was a lie in the PDP-11 documentation which swapped the
names of two signals; this drove Keith nuts until I found the PDP-10 version,
which disagreed with the PDP-11 but agreed with what he saw on th elogic
analyzer. I used to remember which two signals were involved; I'd probably be
able to recall if I could be arsed to go look at the manuals for a moment.
For those who don't know, we decided back in the early days of building Living
Computers: Museum + Labs that spinning rust with 40 year old bearings was going
to be problematical. Add to that the fact that new media was no longer being
produced, and we had to do something. My brilliant friend Keith sat down with
a logic analyzer and an RP06 attached to a KL-10, and proceeded to spend the
next two years (when not called on for other projects) creating a disk
emulator. He used a Rabbit processor for the controller, and about half a
dozen PIC processors for scut work; we could provide up to 4 RP06 or RP07
drives at a time to the KL-10s with his prototype.
Later, Bruce came on board as the museum was ramping up, and redid the design
in a Xilinx chip with VHDL. His was fast enough to support up to 8 RP06 or
RP07 drives (the max on a single channel); he also did a variant which could
emulate up to 8 Massbus attached tape drives, of the TU78 type.
As for operating system support, the only DEC operating system which could put
tapes and disks on the same Massbus was TOPS-20. Tops-10 explicitly tells you
in the SYSGEN process that disks and tapes must reside on different channels; I
believe that ITS follows that same principle. WAITS, although originally a
highly divergent offshoot of Tops-10, took the Massbus code from TOPS-20 v5
when it was ported to a KL-10 at SAIL, so could in theory have disk and tape on
the same channel.
At LCM+L, because the emulators acted as both controllers and peripherals, we
had to devote separate channels to disk and tape, even under TOPS-20, but it
was the hardware, not the OS, which required that. We also had to use two MDEs
on the KL-10 boxes; since dual channel disks were not possible, the front end
11/40 needed its own MDE.
We eventually put Bruce's MDEs on the DECSYSTEM-20 (running Tops-10) and the
other KL-10 (running WAITS), the PDP-11/70 running Unix v7, the KI-10 based
DECsystem-10 running Tops-10 v6.03A, and the MIT-AI KS-10 which was purchased
from CZ way back in the early days. (I rebuilt the
RM03 power supplies and
replaced the HEPA filters on them while Keith was working on
the first MDE.)
We also sent one to Michael Thompson to repay him for lending us some hardware
back in the early days.
Rich
P.S. We're about 10 days from the 1st anniversary of the closing of LCM+L to
the public. Lift a pint in memory of the most fun we ever had standing up.