On 08/18/2015 01:00 PM, Johnny Billquist wrote:

The floating address space was pretty much there from the start for the Unibus, even before you had "large" systems. For most controllers, only the first one has a fixed address, and all others were assigned from the floating space. Makes sense, as it was just too costly to statically assign space in the I/O page for all possibly configurations you could imagine.
The CAPABILITY to do it was always there, that is quite true. But, most of the OLD PDP-11 devices had a VERY limited selection of addresses. Now, some DID have something like 6 address bits settable in a jumper or wire-wrap field, but I know a number of devices had just a couple DIP switches that limited you to 4 or 8 possible addresses. I know on some old stuff I actually cut traces and re-patched the address select bits to make them run at non-standard addresses. My PDP-11 experience started in 1975, and was with stuff that was probably almost a decade old even then.


In some cases, you had to force a device to be at a non-standard address, possibly because a 3rd party device could not be configured at the address the DEC enumeration scheme wanted to put it at. This was
pretty easy to do in later VMS systems.

Very easy to do in RSX-11M-PLUS as well. A simple one line command, which can be done on the running system.

OK, I ran RSX-11M, but never M-PLUS. I remember doing sysgens late at night to reconfigure the I/O addresses.
Unfortunately, this type of misconfiguration is fairly hard to detect with software. Later devices (MSCP) had an autoconfiguration scheme
where the OS would assign the CSR and vector at boot time.

Well, half correct anyway.
The CSR is never autoassigned. It always is configured by switches or jumpers on the board. Some of the more modern controllers, like MSCP controllers, setup the vector through software.

OK, what I USED to know is just fading away! Yes, what you say makes perfect sense.

Jon

Reply via email to