Damaged PPU on top loader

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Damaged PPU on top loader

Post by Ben Boldt »

No I don’t think it’s damaged. Any signal changing causes some small change in current. It probably doesn’t take much to generate a visible effect in the video. There is a chance you could find a different PPU that has less jailbars but I would not say that means yours is unusual or has a problem.

It seems that your jailbars are similar to normal composite jailbars, and also get better the same way. I am still not sure how that is possible, but lucky for you, you can probably do some of the same things that we non-RGB folks have been doing.

Capacitors are weirder than you think. The smaller a capacitor is, the more effective it is a higher frequency stuff. Some people will even say that physically smaller capacitors are better at high frequency. Large capacitors are better at low frequency. So just always experiment to find out what works best. There will be a best size, where larger ones and smaller ones are both worse. We found that tantalum capacitors work even a bit better than ceramic for jailbars. Do you have any, or any junk electronics? Often you can find them. They are usually yellow or black.
alfredocalza
Posts: 111
Joined: Sat Jun 22, 2019 1:06 pm
Location: Madrid, Spain

Re: Damaged PPU on top loader

Post by alfredocalza »

Ben Boldt wrote: Mon Apr 25, 2022 7:12 pm No I don’t think it’s damaged. Any signal changing causes some small change in current. It probably doesn’t take much to generate a visible effect in the video. There is a chance you could find a different PPU that has less jailbars but I would not say that means yours is unusual or has a problem.

It seems that your jailbars are similar to normal composite jailbars, and also get better the same way. I am still not sure how that is possible, but lucky for you, you can probably do some of the same things that we non-RGB folks have been doing.

Capacitors are weirder than you think. The smaller a capacitor is, the more effective it is a higher frequency stuff. Some people will even say that physically smaller capacitors are better at high frequency. Large capacitors are better at low frequency. So just always experiment to find out what works best. There will be a best size, where larger ones and smaller ones are both worse. We found that tantalum capacitors work even a bit better than ceramic for jailbars. Do you have any, or any junk electronics? Often you can find them. They are usually yellow or black.
Thanks again! Very good info. I just bought a low serial number nes untested with a broken and yellow shell for 30 bucks. I have heard that earlier versions did not have the jailbars problem, so if the PPU is good on this unit, I might be able to fix the issue by just swapping the PPUs (assuming that the PPU is the issue)

If this doesn't solve the problem, then I will uninstall the external voltage regulator, use the original one, and add some smaller capacitors to see if it improves anything.
alfredocalza
Posts: 111
Joined: Sat Jun 22, 2019 1:06 pm
Location: Madrid, Spain

Re: Damaged PPU on top loader

Post by alfredocalza »

I was finally able to source the PPU from an nes-06 board. I took it out and installed it in the top loader. Unfortunately the jailbars are still there. I will go down the capacitor route. I have some ceramics that I have bought over time, which range from 101 to 106 and then the 4.7uf caps that I previously used. I will try the ceramics that I have and see if there are any additional improvements. I have some old through-hole tantalum ranging from 4.7uf to 47uf. However these caps don't seem to be of a very high quality; they look like Chinese, and their shapes are very irregular. I will try them too.

As far as the nes06 board I think I will fabricate an nesrgb nintoaster, but that is a project for another day.
alfredocalza
Posts: 111
Joined: Sat Jun 22, 2019 1:06 pm
Location: Madrid, Spain

Re: Damaged PPU on top loader

Post by alfredocalza »

Fiskbit wrote: Mon Apr 18, 2022 10:19 pm Oops, I mixed up my bits and meant A10, after all (the tiles in your image were going from, say, $0400 to $0000). Sorry for leading astray.

That being shorted to ground would explain the issue.
Out of curiosity, what do $0400 and $0000 mean?
User avatar
Jarhmander
Formerly ~J-@D!~
Posts: 569
Joined: Sun Mar 12, 2006 12:36 am
Location: Rive nord de Montréal

Re: Damaged PPU on top loader

Post by Jarhmander »

That's simply hexadecimal. $0400 == 1024 == 2^10. Other notation for hexadecimal is 400h or 0x400 (C, Python and other contemporary programming languages use the latter).

$400 is simply 1 followed by 10 zeros in binary; in other words, in the context of address bits, A10 would be 1 and all the other bits would be 0.
((λ (x) (x x)) (λ (x) (x x)))
Fiskbit
Posts: 891
Joined: Sat Nov 18, 2017 9:15 pm

Re: Damaged PPU on top loader

Post by Fiskbit »

The game's graphics exist in video RAM. The PPU fetches from video RAM by putting a 14-bit address onto the PPU address bus and getting data back from other hardware. $0000 and $0400 are hexadecimal (base 16) addresses, notated in many other contexts as 0x0000 and 0x0400. The pictures show that when the PPU puts address $0400 onto bus, it's instead getting the data for address $0000. Similarly, any address that has that bit (bit 10) as 1 is having the bit forced to 0. The other address bits are functioning as expected. I could see this by looking by using debugging tools in an emulator, checking the VRAM address of the incorrect tiles compared to the correct tiles that should be there. From this, I concluded that this bit has a problem.
alfredocalza
Posts: 111
Joined: Sat Jun 22, 2019 1:06 pm
Location: Madrid, Spain

Re: Damaged PPU on top loader

Post by alfredocalza »

Jarhmander wrote: Fri May 06, 2022 6:58 pm That's simply hexadecimal. $0400 == 1024 == 2^10. Other notation for hexadecimal is 400h or 0x400 (C, Python and other contemporary programming languages use the latter).

$400 is simply 1 followed by 10 zeros in binary; in other words, in the context of address bits, A10 would be 1 and all the other bits would be 0.
Very interesting. Thank you for sharing!

Back to the jailbars.. I tried different size ceramic caps ranging from 102 to 4.7uf. The smaller ones did not seem to do anything, while the larger ones completely removed the jailbars in some parts of the screen, but made jailbars much stronger in other parts of the screen. Even though I was unable to completely remove the jailbars, the capacitor that worked best was a 105 ceramic, or 0.1uf. I hope that this info is helpful for anyone else with the same issue.
Post Reply