RISCy business – Risc PC600 Repair

I’ve been fairly busy recently and even though I’ve still been doing a lot of stuff with retro hardware, I’ve not found time to update this site. So I need to catch up, starting with this one which I have actually had for over a year but I knew it wasn’t working so has been sat in my pile of things to fix.

This is the Acorn Risc PC600. As with nearly all of these units, it came into my hands with battery damage. The leak was pretty bad, so the first step was to cut the battery off and clean it all up.

I then purchased an Acorn POST box interface which would allow me to easily read the power on self-test error messages on startup. Upon powering it on it showed that the CMOS was unreadable and it had sirq and virq errors (Sound and Video). Reading up on these it is usually caused by the buffer chip and the resistor network chip next to the battery, no longer being connected to the vidc chip. Using a multimeter I jotted down all the broken traces and re-joined them all.

Powering it back on whilst holding delete to reset the CMOS settings, the POST still gave a virq error and I was about to turn it off when it booted into RISC OS. At this moment in time I was pretty happy. There was still an issue but I had a functioning machine. I was able to test the HDD and the floppy both of which worked. It was then time to go back to my day job for a while, so left it there ready for me to come back later.

After work that day I went back into my workshop and the first thing I wanted to do was format a floppy disk. So I grabbed the mouse, clicked on the floppy drive and the screen went black. Powering it off and back on gave me nothing, and even POST wasn’t working now. After a few choice words were spoken, I started looking around and checking signals with the multimeter. It looked like the PC was being held in reset. These RISC PCs do something a bit unique when they are in reset where they do a count sequence on the address bus, therefore on a multimeter you see it where A0 will have a square wave at a certain frequency, then A1 will be half that frequency, A2, half again and so on. But I checked the reset signal and it looked like every other reset signal I had seen on 8-bit machines, goes high, then after around half a second, goes low.

Some head scratching followed, I expect some more swear words, then I read an Acorn technical manual that gave me the answer. The reset pin on these machines is actually active low! So the circuit was functioning, but the final output was the inverse of what it should have been. Checking the circuit diagram there was a not gate IC on the reset circuit that dealt with inverting the reset signal for the CPU. I ordered a new one and replaced it with the hope I would be back up and running again.

Well, this hope was soon dashed when I powered it back on. The system would POST now, so I had fixed that issue, but I still got the vidq error, followed by a red screen, and then at that point I lost all video output. So something was still wrong.

I spent quite some time going over every signal I could think of and they all looked ok, but by ok, I mean that the signals were there and doing something. What I didn’t know is if the signals were doing what they were meant to be doing. At this point, I decided to look at some other ways of getting this machine back running again.

I was fairly happy with the fact that all other components were working and there was just a board fault somewhere. So I managed to grab another Spares or Repairs board off eBay. This one looked in much better condition than mine so I was hopeful it would be an easier fix. When I got the new board I was again greeted with virq errors and also a DRAM error. I started going through each of the data bus pins to check that there were signals going to the vidc chip. I then noticed that two of the data bus signals seemed to be competing with each other and looked messed up. Confirmation of this issue was discovered when the helpful people over on the stardot forum explained that the DRAM error was actually a hex number and by translating that into binary it showed an issue with data lines 25 and 26.

Using a multimeter, I then discovered that D25 and D26 actually showed continuity between the two pins. The problem here is the data bus goes all over the motherboard so where was the short? I started easy and removed the ROM chips and the CPU, same issue. I then removed the buffer chips as these can go faulty, still the same issue. With only a couple of options left, one being the IOMD chip which was going to be practically impossible to replace, I removed the last easy component, one of the resistor network chips, at this point the short vanished! So I soldered everything else back in place, transplanted this IC from my other board, and finally a working RISC PC 600!

I am fairly happy with my repair as I do now have a functioning PC. But I think I am still going to have to go back and visit my other board. Now I have a functioning device I can see exactly what good signals should look like and can hopefully pinpoint the issue. I am fairly sure it’s going to be the data bus connection to the vidc chip, but the signals were all present, so now I need to look for ones that even though they are present, just don’t look like they are supposed to. I will post an update if I ever get to the bottom of the issue.

My next step is to start discovering what these machines are capable of. I have already swapped the drive out with am IDE to SD adapter and I think I would like to experiment with sticking a second processor in the unit. There is a board that allows a 486 processor to be inserted as a second CPU and then run DOS programs within a window in RISC OS, This sounds pretty neat and I do have a spare Blue Lightning 486 DX2-66 processor sat here wanting to be used.

Thanks go to Ian on the stardot forums for providing help through this repair and also building the Acorm POST box which proved very helpful.

Readers Comments (2)

  1. Hello,

    do you repair RCP ?


    • Hi, I don’t offer repair services at the moment as I don’t have a lot of spare time and wouldn’t want to keep people waiting.

      I don’t mind repairing my own machines because if it doesn’t work out it doesn’t really matter, but I would feel bad about it, if it was for a paying customer.

Leave a comment

Your email address will not be published.