I recently turned once again to trying to get the DECstation 220 working. I have the original motherboard and a spare one. Both had battery damage and neither one works. The spare actually works less well than the original but many of the tracks seem to be in better condition, so I have been able to use it to partially reverse engineer the schematic, which I have been incrementally improving as I go along.
I last looked at the machine in 2017 when I left it with a corrupted video. I had discovered that it is a re-badged Olivetti M250-E and that there was a jumper which allowed me to install a VGA card in one of the ISA slots. I obtained an ISA VGA card that used the same chip, a Paradise PVGA1A.
This however gave me the same corrupt video pattern I was getting before. At least this suggested that there is no fault with the VGA side of the motherboard.
A friend found a service manual for the Olivetti M250. This says that the POST puts out a code on the parallel port. I found this to be the case here too (remember this is the later M250-E). It was putting out 0x49. This means that it is passing checkpoint 9 but failing on checkpoint 10, which is a simple test for the 80286 protected mode. More on this later because I first wanted to fix the video output.
The video output was corrupt because there were no writes to the video memory. This seemed to be because the MWRN signal on the PVGA1A chip was never going active. I traced this to a 74LS125 chip (labelled U204). I had previously replaced this chip because it seemed to be faulty, but I now discovered that one of the pins was not properly soldered. After fixing the soldering I started to get video output and this is what I got:
So it was now stalled on the simple protected mode test. I think this is the state of the machine when I first received it and powered it on.
So now I needed to resolve the protected mode test failure. The test involves setting protected mode, checking the machine status word to see that it is enabled, and then returning back to real mode. It seemed implausible that it could be failing to write the machine status word as the CPU is running, so it could only be the reset back to real mode that was the issue.
After asking around on the cctalk mailing list, I discovered that the 286 cannot exit protected mode without a reset. Therefore, the test is writing a marker value to the CMOS non-volatile memory to tell it after the reset that it was doing the protected mode test, and then it provokes a reset through some trickery with the peripheral controller. The peripheral controller is an Intel 8742 (labelled U10). Eventually I found a broken track between the peripheral controller and one of the custom gate arrays (it is called a GA99 and is labelled U4). After repairing the track it got past the protected mode test:
As can be seen from the screenshot, I got a failure further into the POST. I sometimes also got random different errors, such as
I can press F1 on the keyboard and get past the various errors. The best I can get is this:
I tried connecting the floppy disk drive but it just hangs on the check for floppies. It could be a faulty floppy disk drive as no lights came on. I haven’t looked into this much because of all the previous errors, which I want to fix first.
I have not been able to resolve the other errors despite fixing a few more broken tracks. My suspicion is that the Chips and Technologies 82C206 is not being addressed properly when the CPU tries to read and write to its various registers. I tried my logic analyser (HP1630D and HP1630G) on the 82C206 to see if it tries to read or write the DMA Page Registers. After fixing one address line trace I can see it use the XA lines to address 0x80, 0x84 and 0x86, which suggests that line XA0 on the 82C206 is not connected correctly. I did some testing on the XA0 line, which is again driven by the 74LS125 chip marked U204, but it seemed to be operating correctly. Of course, I cannot exclude that other address lines are incorrect making it look like it might be trying to access the DMA Page Registers when in fact it might be something else.
I started to look at the other address lines, but then the machine started getting this:
And it would not even beep on power up.
So after several weeks of trying, I have given up on this machine. I have a partially reverse engineered schematic should anyone want it.