From: "Bob Armstrong" <bob at jfcl.com>
You missed my point - the issue was not "where does the small program
execute from", it was "where is the code for the boot program stored
(permanently) before it gets DMAed into the host".
[misunderstanding since resolved]
Also when they say small they mean *small*! IIRC it just loads a few
vectors, sets a variable or two, and then does a branch-self, so it's just a
few words. The *actual* boot code comes from SECUNA.SYS/SECLUA.SYS (secondary
bootstrap in T11/68K code) and TERUNA.SYS/TERLUA.SYS (tertiary boot in PDP-11
code).
The DEQNA was such a mistake. Why DEC would break from eons of tradition and
make the Q and U versions of something be not in the slightest compatible is
beyond me. Apparently fitting on a dual-height card was more important.
I think it does have a CPU (i8051?) but its ROM is mostly full of the PDP-11
boot/diag code (since the boot is way too big to fit in a typical PDP-11
boot PROM so all that does is suck the real boot out of the 8051). So they
didn't have space for doing MOP in firmware.
There's a *fantastic* writeup on how to call the QNA/LQA boot/diag PROM in
the RSTS source code (I think it's basically the entire relevant part of some
internal manual, pasted into a .REM block).
To be clear: the UNA/LUA actually yanks AC LO L, which *causes* INIT L to
be pulled but also makes the CPU jump through the vector that's just been
reloaded.
I agree that the purpose of all this must surely be to remotely revive
crashed systems, which won't be useful with emulators if it's actually the
emulator and/or host system that's crashed (but *will* work if the crash
was in PDP-11 code). But it's too much fun not to do anyway! I had a
blast getting it working in E11 even though I can't imagine one single person
besides me has used it. But that's not the point! Also if the system was
booted manually, then what it reboots automatically might not be the same,
so you wave a magic wand and a computer in the other room will switch from
RSTS to RSX, in an entirely PDP-11-y way (not like you just telneted into
the most machine and told *it* to reboot the emulator). Or whatever.
I would think the other emulators support Ethernet booting too, but if
any of them don't, I'd be happy to contribute my reimplementation of the
QNA/LQA boot/diag ROM code (with MACRO-11 source).
John Wilson
D Bit