I have an old piece of pro-audio gear in for repair. It dates from 1990. It was a fairly high-end piece of gear at the time and still has some value so it is worth repairing. But the symptoms I see have me scratching my head.
At some point, the front panel just stopped working. The old fluorescent display is perfect, but no switches work. I have schematics and service info for the main unit, but not the front panel, so I traced the circuit.
I discovered that the 80c31 processor reads the switch matrix but writing 0's where it needs to write 1's, so the switches always read as not pressed. I can see this quite clearly with the scope; there is an octal latch (U28), it is clocked, but the input I looked at (pin 13) is always 0 at rising edge of clock. (It isn't stuck low, and it comes right from port 0 of the 80C31.)
The 80C31 seems to run fine. In fact if I ground a node in the switch matrix (cathode of the diode CR4), the associated switches work. So the scan is working, the switch value gets reported back to the main CPU, and the display works.
The issue is just that the 80C51 doesn't activate the latch to read the switch.
I am really scratching my head here. There doesn't seem to be any hardware issue, the processor is just not trying to read the hardware when it should. Why did it suddenly stop working? It is as there is a software config issue, but nothing changed to cause that, as far as I know. (The owner did buy some upgrade ROM's, we have the same issues with either set.)
What could do this? I am clutching at straws a bit here, but now I am wondering if the EPROM (it is windowed) has started to lose data after 20+ years. (It has a sticker and it would be dark in the box, but 28 years is long.) For that I would expect a total crash or random behaviour, but I guess that losing just a bit here and there might also happen - never really experienced that kind of thing, so I don't know.
Anyway I am considering getting hold of an EPROM reader and running the image through a simulator to see what it does.
Any other ideas?