On 2015-04-30 17:06, Noel Chiappa wrote:
From:
Jorg Hoppe
Thanks for that effort!
Eh, de nada. Interesting and educational.
The M9312 code should be similar, at least it may
expose some ideas
Some parts of it (e.g. the CPU diagnostic) are mostly identical (and the
comments there, particularly on the single-op register instructions, are
useful to total understanding of that code in the M9301); but alas, I had
already done that part of the M9301 (at least, at a surface level)!
Much of the M9312 (including the functionality of most of what I had yet to
read in the M9301) was quite different. I did manage to get the 'print
number' code out of it, but that was pretty much it.
I thought I had seen the sources of the bootstrap code in some document. Did I
just imagine that?
I hope you also are aware that both the M9301 and the M9312 have different
boot roms for some machines. I know that the 11/70 use different roms with
other tests than other PDP-11s, and I seem to remember that one or two others
do as well. (The 11/60 keeps popping up in my brain...)
So I've done a lot of the remaining M9301-YA
code (new version uploaded to
location above); not the per-device code, I'll probably blow that off, but
other than that, only a few tiny sections remain to be understood.
The per-device code are in separate PROMs that are used in both the 9301 and
9312. Those are the ones with the device code as constants in the beginning of
memory space for the PROM, by the way. (I seem to remember someone mentioning
this in the past.)
Johnny
The M9312 device boot proms are totally different format and structure than the
M9301 proms. Not interchangeable.
The M9301 has four 4b wide proms configured as a 512x16 and the console and
device boot code all live in this address space.
The M9312 (and the 11/44 also) have one 4b console PROM, and four slots for 4b
wide device boot PROMs. Each of the PROMs are nibble accessed to build a 16b
word from four 4b nibbles. The PROMs are all independent of one another.
The 11/44 module has its own console boot code PROM, but it uses the standard
M9312 device boot PROMs.
For the M9312, there are two console PROM variations, one for the 11/04/34/etc
class machines, and one for the 11/60/70.
Don