Conventions for relations between KLDCP and IOELEV Core locations - 3000 KLDCP does JSR PC, here when it has nothing to do and 10 is running. IOELEV should INIT if it hasn't already, then go into its main loop. It should CLC, RTS PC if the 10 goes down; KLDCP will print appropriate message. To go into temporary KLDCP command mode, SEC, RTS PC. If microcode hangs, PMSG <...>, JMP 100004 (CTRLC). 3004, 3006 - .RAD50 /IOELEV/ 3010, 3012 - random crufty version numbers (not actually used) 14, 16 BPT vector, I guess it's OK for 11 ddt to use these. .. interrupt vectors for various devices are initially set up by KLDCP to point to error routine; IOELEV can load over these. 0-400 vectors 3000-? IOELEV (what is 400-3000 used for?) ?-100000 11 DDT 100000-? KLDCP ?-160000 stack KLDCP will supply IOELEV with a stack; 11 DDT will have to be modified to believe it. Even while the IOELEV main loop is not running, interrupts will be turned on and IOELEV P.I. level can run. Various things like "MR" will do a pdp11 "RESET" instruction and flush this. This allows the right thing to happen if the 10 halts, you go to KLDCP, in KLDCP you type DDT, and now you're back in IOELEV. Consequently IOELEV has to handle the flavor of teletype that DDT & SALV use. It's best to do an "RI" before running, e.g., DEC diagnostics. IOELEV isn't allowed to turn on interrupts for any devices that KLDCP also uses; mainly, 60-cycle clock and DTE20. These have to be handled entirely in the main program and not touched at all at P.I. level (since IOELEV's P.I. level runs concurrently with KLDCP.) IOELEV main program level can (and will) use KLDCP's EMT's to hack the DTE20.