Need help with PPU rev differences

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
bunnyboy
Posts: 449
Joined: Thu Oct 27, 2005 1:44 pm
Location: CA
Contact:

Need help with PPU rev differences

Post by bunnyboy »

As has been my horror for the last 2 weeks, I am still having problems with code on systems with PPU2 rev1 constantly resetting. As an example, I put some code up at http://www.retrousb.com/snes It works perfectly on every emulator, every clone, and any console with PPU2 rev > 1. This is basically just neviksti's starter kit with a dma added in the forever loop.

Commenting out the sta $420B in forever: makes it work. Changing the target ($4301) or the length ($4305) does not solve the problem. HDMA is off. My only guess so far is something is screwing up the stack, so the vblank rti or some other rts goes crazy. Possibly something with the alignment with when vblank starts. May even be unrelated to DMA and the problem is somewhere else.

Any ideas? Free products as an incentive :)
User avatar
Memblers
Posts: 4109
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

kevtris and I were talking about it earlier, and he had a guess about bypassing. I suppose it would be possible for the power requirements of the chip to have changed. Have you tried that, adding more bypass caps?

On my NES carts I always used one per power pin on every IC, plus the requisite electrolytic one before VCC even hits the cart's chips. I also tend to go out of my way to make nice fat VCC traces and big ground planes, probably total overkill, heheh. But I've never used an FPGA, I'm sure they have a whole lot of power pins..
bunnyboy
Posts: 449
Joined: Thu Oct 27, 2005 1:44 pm
Location: CA
Contact:

Post by bunnyboy »

I think I finally solved it, of course completely unrelated to everything I was looking at. Reset pin on that rev of that chip has a different voltage/current threshold (some analog crap I don't get) so a simple pull up fixes the problem. I found it while accidently plugging in the board into a powered up system, the finger touching the trace made it work. Memblers gets half credit because I had just added a third round of bypass caps and was testing it, what product you want? :)
User avatar
Memblers
Posts: 4109
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

Cool, glad it's fixed! If I'm that lucky, I'd be really pleased to have the functional half of an NES PowerPak. :)
User avatar
Memblers
Posts: 4109
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

I'm double posting, but on second thought, I would be nearly as pleased with a Glider cart or P-Pak Lite since I do have a CopyNES.
Post Reply