Interfacing with a PDP-11/05: Serial console monitor

Installing a console monitor program

Now that the PDP-11/05 is equipped with a serial console port, you soon will get tired of watching "Hello world!".

To be really useful, it would be nice to have a monitor program installed. Such a monitor would allow you to read and write memory, start programs, and boot from devices ... over a text terminal.

The M9312 bootstrap terminator

Well here it is. In the PDP-11/34 the "M9312" card is installed. This is an UNIBUS terminator that also carries 5 ROM chips. One ROMs contains monitor software, the other four contain bootloaders for various devices. "M9312" is the archetypic boot ROM card, so google for "DEC M9312" to learn more.

M9312 has also logic to detect when the CPU performs its first memory access after Power-On. In this case, the card manipulates the UNIBUS memory cycles so the processor begins executing ROM code. In effect, the monitor (or a certain bootloader) starts automatically every time the the PDP-11 is booted.

The M9312 was designed 1978, while the '05 is 1972. Despite being made for a different generation of PDP-11's, the M9312 runs also in the PDP-11/05 (Thanks to Thomas Hoeffken for detecting this!)

In other words: A PDP-11 is a PDP-11 is a PDP-11!

Plugging in

So all you have to to is to replace one of these passive UNIBUS terminators

with the M9312 card:

M9312 has many switches and zero-Ohm jumpers, set them as on the picture. See the attached doc for more, but reserve some time for reading ...

You see the four Boot ROM sockets on the left side in the upper half, they have 16 pins. The console monitor is located in the larger 18-pin socket in the middle of the board. Be aware: there are different monitor ROMs for 11/34 and 11/60&70, use the 11/34 one.

And there must be at least one boot loader ROM in socket "ROM 1", even if no device is attached.

Finally the 11/05 could look like this:

The 11/34 serial console emulator

So now after powering on, the PDP-11/05 executes the monitor program and its "@" should appear:

If the auto-start does not working, you can execute the monitor manually by loading address 165020 and toggle START.

DEC calls the 11/34 monitor a "serial console emulator", because it very close simulates the work with the console panel switches.

For example:

"L <value>" sets the current address as the "LOAD ADDR" switch does,

"E<space>" does an EXAMINE, like toggling the EXAM switch

"D <value>" does "DEPOSIT", and so on.

From today's view, this makes work unnecessary complicated. See chapter 3 in the attached M9312 documentation.