The RX02 floppy drive and the M8256 RV211 controller
Another amazing gift from Geert, this is my first real DEC peripheral for the PDP 11/44!! Yay!
The controller for this is the M8256:
The band cable at the left is the cable going to the RX02. The red wire at the top needs to go to the A pin of the connector (written on it).
The RX02 has a nice construction which should make it more easy to repair. There are two main circuit boards. The top board, for which you see the back when you look inside the machine, is called the M7744:
This is a rather complex board which actually implements a processor in discrete hardware! It uses two AM2901 bit slice processors and three AM2909 sequence generators. The CPU is a microcode based CPU with the microcode in PROMs. These PROMs are Harris 7643 PROMs:
Anyway, by just releasing two screws you can flip that entire board up, so that you can access both its component side and the components on the analog board:
Very nicely done, it reminds me of early HP equipment like the HP 9825A which also used something similar. If only machines nowadays would pay similar attention on how to be repaired…
Initial mini repairs
The machine was cleaned as much as possible, and the large capacitors were reformed during about 4 hours. The power cord of the device was broken, so it was replaced with a new cord and a new grommet:
The main circuit breaker also had a problem: it would not make contact properly when switched on. This could have become a bit of a problem as the thing seemed to be riveted close, but luckily applying some Deoxit in different nooks and crannies of the switch made it work properly again,
Running tests for the controller
I inserted the M8256 controller in an Unibone testbed (see here how to set that up):
The controller must be put in an SPC slot, i.e. connectors C-F. It needs the NPG line to be cut as it uses DMA. A way to see that this is probably the case is by looking at the edge connector for slot C of the card (component side):
These fingers are actually connected, and these are the NPR signals they connect to - indicating that they need them.
I then started the cpu20_xxdp_rl0_dl11.sh script to get the Unibone to emulate a CPU and a DL11 serial port. This now boots xxdp. I then start ZRXFB0.BIC which should test the controller:
This test starts by calling the Supervisor. This prompt takes a set of possible answers explained here. After answering STA/FLAGS:HOE (start test, halt on error) the test reports the following:
This error complains about AC LOW. The M8256 (RX211) actually has a bit in its status register that gets set when it detects that the RX02 does not have power:
Not so surprising we get this error considering that the RX02 is not connected to the controller at this point…
If you ever get a “real” error: look in Jörg Hoppe’s fantastic diagnostics database here and find the test in question to get the assembly listing for the thing.
Testing with the RX02 connected
Inserting the cable in the controller, and switching on the RX02, after that we run the same test. Initially without a floppy inserted, which does not make it happy:
After that I inserted a floppy, and got:
This was accompanied by a lot of “clacking” sounds, probably the heads being lowered on the disk?
Second test
The second test was even less successful: the drive kept repeating there was an AC LOW FATAL ERROR. Apparently something broke… This seems to be done by this part of the circuit on the M7744 board:
The 8881 is an equivalent of the 7439, and is open collector. I measured the signal on pin 4 of E7, and that remained at 0V, i.e. this circuit registered the AC failure, indeed. I also checked the 10V input, and that was fine.
This circuit should work as follows:
If the 10V is missing then Q2 will not conduct; its emitter is at 0v through the zener, and the base is near 0v because the 10V is missing. Because of that Q1 will also not conduct and thus not pull the exit of E7 high, i.e. the signal will remain low.
If the 10V is present (at least high enough) the emitter of Q2 will be around 3.3V through the zener. The base of Q2 should be slightly higher than 5V through the resistor ladder R22,R23 causing Q2 to conduct. This pulls the base of Q1 to below 5V, causing it to conduct, thereby pulling the DRV AC L line high.
Next step is to measure the voltages around Q2:
Yellow = E7 Pin 4 (DRV AC L), light blue=collector Q2, purple=emitter, dark blue=base Q2
We see that the base is indeed > 5V, but collector and emitter of Q2 are both way above 3.3V. This indicates that the 3.3V zener has given up. After replacing the zener we have a proper signal when the test runs:
Light blue is the signal on pin 6 E7, yellow is the signal on pin 4.
After this, and after messing with some floppies I got this:
It looks like an entire pass tested OK During the test I could see the head moving; first track by track, after that reading random tracks… This part seems to be OK