I recently got a defective PAL NES from a friend who couldn't get it to run and I found out the PPU was damaged.
Luckily I had a UA6538 PPU left and replaced it with the original.
The NES started fine but had graphic glitches, mainly sprite related.
So I thought it was the latch and replaced the 74LS373 with another one.
Didn't change anything.
Replaced both VRAM with new LH5116.
No change either.
Finally replaced the CPU with a UA6527P but again, no change.
Even tried changing the crystal and cart connector (I have 5 here, neither works properly).
What else can cause those problems?
Seems like a sprite DMA problem, could check the LS139 and the CPU RAM. Or any ceramic caps related to enabling the RAM/ROM, see that they haven't failed short or open.
Oh, forgot to say. One ceramic capacitor was damage. C10 near the 74LS373.
Does anyone know what value it has? I could try adding in a new one then.
CPU and CPU RAM was replaced. You think that can still be a problem?
I will also try replacing the 74LS139. I have plenty here.
C10 is 0.01uF
You said the problem was mainly sprite-related, what else was there? If there are any problems with background graphics it should be apparent if the game scrolls.
So far from my testing only sprites are affected by this. I've tested Adventure Island Mega Man 3 and they work great scrolling wise just every sprite is either mirrored or garbled.
Sometimes it tends to work for a few seconds and everything is fine but then back to glitched.
Pretty much has to be the OAM then, which is internal the CPU. If the CPU is known to be good, then it can only mean it's not loading correctly when it does the DMA. I don't think there is any game that uses sprites without DMA. The memory access timing when DMA is used is a little different from the other memory accesses, just seems weird that it would be marginal like that. With a completely failed IC anywhere I would expect it to not run the games at all.
Other than the LS139, those 40H368 buffers for the controller ports are also capable of putting stuff on the data bus.
Ah, I see. The weird thing is. I had another original CPU left from another NES and it produced the same glitches. It was in a working condition though, so I can't say it wasn't working.
I've measured every single trace with a multi meter and they're all present.
Will change other ICs and let you know, if it changed anything.
OAM is inside the PPU; the DMA function that sends data to OAM is inside the CPU.
Early revisions of the PowerPak also had issues with OAM DMA.
D'oh, thanks for the correction, not sure what I was thinking.
Yeah the early PowerPak problem was a bus conflict during OAM transfer, this really seems similar to that.
Ok, added the C10 (10nF) capacitor but that didn't work either.
Gonna try the 74LS139 later and if all else fails I'm gonna sell it as defective.