Doug Jackson - pesonal email wrote:
Hi Everybody
I was reading some doco last night (specifically the DEC RL11/01 Disk
Subsystem Training Handout), and I am confused.
(That is nothing new...)
In the "Subsystem commands section", the addresses specified for DAR
and CSR are 774404, and 774400 respectively, but in the back of the
document, under the 'toggle in programs' section, the DAR and CSR are
shown as being at 174404 and 174400 respectively.
Hmmm. I see three possibilities:
1. I have (re) discovered a documentation error - I wonder if DEC,
no, HP, no Compaq, would be happy for me to submit an amendment :-)
2. The hardware throws away the upper bits so both references are
correct. Hmmm Possibly not :-)
This is actually the closest to the truth when operating in unmapped
mode. The hardware actually adds two extra bits, converting 16b program
virtual addresses (what your code sees) to 18b UNIBUS physical addresses
(what the controller sees). For this specific case 16b addresses in the
range 160000-177777 are converted to 18b addresses 760000-777777.
So the real answer to your question above is both are correct. It
depends on where in the system you are looking.
I would suggest you look at any one of the PDP-11 Processor handbooks to
see how 16b to 18b address mapping works, and a discussion of the 'I/O
page' architecture.
3. There is some other stuff happening that I
missed...
If anybody could shed some light on this I would appreciate it. The
background to the problem is that I can not convince my shiny,
wonderful, (and noisy) DL01 to perform the seek test - Me thinks there
is a problem....
Doug