This machine was received together with a lot of other PDP-11 stuff from Gunnar Barbro. It was far from complete when received. The CPU and the memory boards were missing and the front panel power switch had been replaced with a new. It was also extremely dirty. In the backplane there were a the board for the programmer's console, KY11-LB, a XY11 board, a KW11-P board. There were a RK11-D backplane and cards as well as a DR11-B backplane and cards.
The machine was dismantled into pieces and washed gently with soap. and then blown dry using compressed air. This includes the backplane and the PSUs and the several of the circuit boards. Then all parts were to dry and assembled again. It was also some rust under the paint here and there.
Reassembly and testing
Of course it would not run even with the spare CPU and memory boards I had already lying on the shelf. The console was pretty much dead and it was even worse after a while. In the beginning it was possible to enter digits on the console, but suddenly it was dead.
The KY11-LB is an interesting option used on both the PDP-11/04 and the PDP-11/34. Not only can you enter programs and data by depositing and examining the memory, starting and stopping the CPU, single stepping the program etc. It can also be used in a maintenance mode where it can monitor and single step the micro code of the CPU. This is done by attaching one or two ribbon cables to the CPU module. But if the CPU is not present or is completely hung, the KY11-LB can be used to exercise the Unibus without any interaction with the CPU at all. All this because the KY11-LB has it's own small 8008 cpu on board. Red marked below. This is a very good feature if you would like to verify the Unibus itself or do some simple tests of memory and I/O boards. Whenever a nonexistent location is addressed the BUS ERR light will come on. Jörg Hoppe has done an excellent page on the KY11-LB and how it can be used.
The M9301-YB is the terminator and bootstrap module for this PDP-11/04. The PROM contents include the console emulator and also bootstrap for some common devices. To be able to start the CPU at power up directly from boot-PROM this boards forces a special address on the bus when the CPU itself is fetching the power fail restart address from vector 24/26. It do alogical or with the address 173000. Thus instead the CPU receives the data stored at 173024 and 173026. At the 173024 location the M9301 do a logical and of the data present in PROM and the data provided by the switches. Thus the switches control where in the 173xxx space the CPU will start. The four PROMs have been dumped into four Intel hex files, 23-038A9, 23-039A9 and 23-040A9, 23-041A9. Since the M9301-YB do invert certain bits to handle the "or with switches feature" I wrote a small program to combine those into one single binary file. I have just done an initial check on the disassembly, but it appears to be very similar to the M9301-YA PROM but the code is laid out differently.
Running RT11SJ and XXDP V2.2
To be able to boot one need a bootstrap routine. Normally these go into a small PROM which then the console emulator starts when entering the correct letters. But this machine has a M9201-YB card which does not include a DU bootstrap. So I had to resort to toggle in a DU bootstrap by hand. There were some difficulty to find a proper bootstrap that worked but then I found one in the source code of SimH. I put into a small file that I use PDP11GUI to push into the computer memory. Works fine (most of the times).
Toggle in at octal 16000 and start it at 16002.
disk image with XXDP v2.2 running on the machine. But it was not successful. It booted to the XXDP prompt but doing any command that accessed the disk, like "D" caused it to write "?RD ERR". It seems like it is not happy to access the disk. Then I tested a small RT11 installation. Putting a version 5.3 on a disk image and trying to boot it was indeed successful. Maybe play a little bit of Adventure? Or do some BASIC programming?