[Simh] Configuration limitations

Bob Supnik bob at supnik.org
Thu Apr 12 17:49:03 EDT 2018


SimH's intended purpose was to run historical software in furtherance of 
computer education. It was not intended as a perfectly accurate 
emulation of every detail of every architecture. There are compromises 
in the design to simplify implementation.

One of those, dating back to its progenitor, MIMIC, is the use of PMS 
(processor-memory-switch) notation, which simplifies IO into controller 
and units. It doesn't really support the notion of nested controllers, 
which is what the Massbus actually requires: a Massbus controller (RH) 
connected up to a maximum of eight subcontrollers (for an RP06, the 
DCL), which is turn connected to one (or for tapes, more than one) unit.

Originally, the Massbus devices were modeled as a controller and units 
(the KS10 simulator still does that). That proved unsatisfactory, 
because it required extensive code duplication between the VAX and the 
PDP11, and between Massbus disks and Massbus tapes. So a while back, the 
RH controllers were split out, and a system-specific hack put in place 
to associate the "independent" RP controller with a Massbus channel. The 
RP controller was not restructured as eight independent controllers with 
one unit each. It remained a quasi-standard disk device, with one 
controller and eight units. As a result, the RP can only be associated 
with a single Massbus channel.

The software changes to get "accuracy" are fairly intrusive.

1. Change the RP to be 'n' separate controllers of one unit each.
2. Change the RH controller to allow a different device for each device ID.
3. Allow each separated controller to be assigned to a MB channel 
independently, based on device ID.

Enforcing configuration restrictions (for example, no mixing of disks 
and tapes on the same channel) is yet more work.

A simpler hack would be to replicate the RP controller, allowing for up 
to 16 drives in two strings. Each string could be associated with a 
different MB channel. The 'generalization' of a controller to support 
multiple instances is shown in the MSCP disks and in the RH controller 
itself.

/Bob

On 4/12/2018 4:34 PM, simh-request at trailing-edge.com wrote:
> But we are far from being true to the original hardware, so trying to
> use that as an argument I think is really weak. Or else we should really
> allow me to set CSRs arbitrarily when I have several controllers, allow
> me to setup two RP06 on different Massbus channels, and so on. That
> would be true to the original hardware. And the same with claiming to
> not want to do something because DEC didn't provide it, when obviously
> 3rd party manufacturers did.



More information about the Simh mailing list