For some reasons that I'll get into at some other time, putting a timeout into BOOT didn't work to get me a crash dump.
So I looked at things the other way around to see what I could do to get dvdte.c to fool the PDP-10 code that the master front end had rebooted, which I have been meaning to do for some ten years now. After some trial and error, I finally got something that worked, viz:
/* Ten forcing a reload? */
if (op10m_tlnn(w, (DTE_CMT_L11))) {
char *fet = NULL; /* Front end type not known, yet */
if (dt->dt_ismaster) /* Is this the master? */
fet = "master"; /* Yes, remark on that */
else fet = "restricted"; /* Oh dear... Restricted DTE performance is unknown */
fprintf(dt->dt_dv.dv_dbf, /* Finally blat about it */
"[DTE: PDP-10 forcing a reload on FE%d (%s)]\r\n",
dt->dt_dten,fet); /* N.B., we have *NO* code for MCB or DN60 */
dt->dt_reld11 = -1; /* Set the reload-11 button */
dt->dt_rcv_11qc = 0; /* Reset queue count; we've rebooted! */
dt->dt_secptcl = TRUE; /* Force secondary protocol */
return; /* Return, caller will invoke dte_dosecp() */
}
This will let an unaltered BOOT get you a crash dump, viz:
BOOT V11.0(315)
BOOT>dump.exe/d
[BOOT: Dumping] [OK]
Number of pages written: 17734
Number of I/O requests: 203
BOOT>meamon
[BOOT: Loading] [OK]
After Tops-20 gets itself going,
DDMP: Started
Copying system dump
from: TOMMYT:<SYSTEM>DUMP.EXE.1
to: TOMMYT:<SYSTEM>DUMP-21745-ILLUUO.CPY.1
[Copied dump to TOMMYT:<SYSTEM>DUMP-21745-ILLUUO.CPY.1]
I haven't seen messages like this since about 1985, so it was
kind of eerie watching all this low level code just...working. I
have not tested the dvdte.c
modification to see if it will prevent a DTEKPA
BUGINF from hanging everything, but
I believe it should.
Maybe I'll check that after I fix what caused the crash in the
first place. So I'm looking at the ILLUUO
crash dump and it seems that all my fine code got smashed by the
symbol table... Phooey.