On Sep 29, 2021, at 8:21 PM, Matt Burke <matt at
On 30/09/2021 01:06, Paul Koning wrote:
Either the diagnostic has a major bug, or
you're running it on a machine it doesn't support, or there is a setup to tell it
the difference which you missed.
What you're seeing is the very first entry in the table "PDP-11 family
differences", appendix B of the PDP-11 architecture handbook. It is the famous
pattern that the assembler rejects with a Z (machine dependency alert) error code.
This particular pattern produces 6342 only on 11/23, 11/20, 11/35, 11/70, J-11, and T-11.
On all others, including the 11/05 and the PDP-11 emulation in the VAX, it produces 6340
as you observed.
Thanks, Paul. The MAINDEC-11-D0NB diagnostic is meant for the PDP-11/20
according to the listing though the same goes for many other diagnostics
which are also applicable to the PDP-11/05. I guess this one is the
exception. There is a newer version MAINDEC-11-D0NC but I can't find a
listing for that one. Perhaps it has a switch register setting to handle
Perhaps it was written just for the 11/20 when that was the only model. You mentioned
it's a T14 test -- that is actually one that probably cares about the model a lot for
another reason -- differences 10 and 11. In the 11/05 and 11/20 (and VAX), an RTI with T
set in the saved PSW traps after one instruction (i.e., you get single stepping). In all
others, the T14 trap occurs immediately and you have to use the RTT instruction to get the
single step action. 11/05 and 11/20 don't have RTT. The debugger (ODT) in an early
version used the instruction you ran into as a way to see whether to use RTI or RTT for
single step. Of course, that doesn't work with the other machines that work that way,
and presumably it was changed later. It could try RTT with a T10 vector set to catch the
illegal instruction trap an 11/05 would give it, for example.
I see that the PDP-11 architecture handbook doesn't seem to be on Bitsavers...