Page 1 of 1

Diagnosing NES graphics corruption

Posted: Tue Mar 31, 2020 9:24 pm
by FrankWDoom
Howdy, anyone have ideas whats wrong with this toploader? Nothing obviously wrong with the board. Ive swapped vram on the board and the ppu and results are the same.

Screenshot is title screen of action 53 vol 3. Other carts behave similarly. Haven't found any that show correctly. Program and sound appear fine otherwise.

Re: Diagnosing NES graphics corruption

Posted: Wed Apr 01, 2020 7:52 am
by tepples
I'm seeing VWF tiles repeat at a 2-tile stride, which is 32 bytes. I'm seeing nametable rows repeat at a 1-row stride, which is 32 bytes. So I'd start by checking whether PPU AD5 (pin 33; see pinout) is continuous to the address latch and A5 out of the latch is continuous to VRAM and to the PA5 line of the Game Pak slot (see pinout).

Re: Diagnosing NES graphics corruption

Posted: Wed Apr 01, 2020 1:24 pm
by FrankWDoom
It does appear ppu pin 33 has no continuity to the 373. The surrounding ppu pins connect in sequence to 373 inputs so i have a reasonable guess where it should go. Ill try to patch it tonight and report back.

Just to understand your reasoning, you are saying ppu ad0-ad4 are working to address a 32 byte chunk, and ad5 is broken resulting in the wrong 32 byte chunk?

Re: Diagnosing NES graphics corruption

Posted: Wed Apr 01, 2020 1:30 pm
by Quietust
FrankWDoom wrote:
Wed Apr 01, 2020 1:24 pm
Just to understand your reasoning, you are saying ppu ad0-ad4 are working to address a 32 byte chunk, and ad5 is broken resulting in the wrong 32 byte chunk?
A0-A4 are used to select individual bytes within a 32-byte chunk - A5 (and everything above it) is what selects the 32-byte chunk itself.

He's saying that it looks like every "odd" 32-byte chunk in memory appears to be a mirror of its "even" neighbor, which is a typical symptom of the address line A5 being forced to a constant value (e.g. due to being disconnected from the PPU and possibly attached to a weak pullup/pulldown).

Re: Diagnosing NES graphics corruption

Posted: Wed Apr 01, 2020 1:43 pm
by tepples
Quietust is right. I'm saying AD0-AD4 appear to be addressing the correct byte within a 32-byte chunk, and AD6-AD7 and A8-A13 appear to be addressing the correct 64-byte chunk within video memory. But with AD5 not connected, it is not selecting the correct 32-byte half within a 64-byte chunk.

Re: Diagnosing NES graphics corruption

Posted: Wed Apr 01, 2020 2:15 pm
by FrankWDoom
Ok. I think i understood correctly, if i didnt repeat it back right.

I went ahead with the suggested fix and it looks good now. Thanks for the help!