It's not a quirk, it's a design feature.

The PDP11 simulator didn't start out as a generalized, all-singing, all-dancing emulation of all possible PDP11 models; it started as a J11 and PDP-11/73 simulator - one processor type, one system, Qbus only. In the same way, the VAX didn't start out as a generalized emulation of all possible VAX models; it started as a CVAX and MV3900 simulator - one processor type, one system, Qbus only. These simulator targets were chosen because I managed both chip projects and had all the design documents, including microcode, for chips and systems.

Both the PDP11 and the VAX got extended for entirely legitimate reasons - to run a broader range of software. Getting to early versions of Unix meant supporting the PDP-11/45. Getting to early versions of VMS and BSD meant supporting the VAX-11/780. In both cases, the peculiarities of the Unibus versus the Qbus were not considered. The Unibus was treated as an 18b version of the Qbus.

As the simulators have been generalized, detailed divergences from how the hardware worked - particularly model by model variances - have surfaced repeatedly, and the simulators have been refactored accordingly. For example, the discovery that the VAXstation code in Ultrix violated the SRM but nonetheless worked on a MicroVAX II required major surgery on the handling of unaligned references. Unibus DMA to the IO page is just another example of model-specific differences that must now be accommodated in order to run more code.

Except for models that have been written with complete design documentation in hand, simulation of a model always has limits to its fidelity. Within the PDP11 family, I'll vouch for the J11. Many of the other models are just sketches (think 11/60), really. Within the VAX family, I'll vouch for the CVAX/MV3900 and the 11/780. The others are adaptations from one of those two bases and may be incomplete or incorrect on details.

Mark has a good understanding of what needs to be done. In theory, the same modifications need to be retrofitted to the 11/780 and other Unibus VAX models, as well as to the KS10, although I don't think they have the internal register shielding problem that the PDP-11 does.

/Bob

On 9/6/2018 6:12 PM, simh-requ...@trailing-edge.com wrote:
It seems like a rather unfortunate design quirk in simh.
A real Unibus don't distinguish between the I/O page any anything else.
In fact, from the Unibus point of view, there is no "I/O page". It's a
flat 18-bit address space where everything works the same.
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to