nesdev.com
https://forums.nesdev.com/

PPUADDR with Y increment? (MMC3)
https://forums.nesdev.com/viewtopic.php?f=3&t=14048
Page 1 of 1

Author:  Zepper [ Wed Apr 06, 2016 3:52 pm ]
Post subject:  PPUADDR with Y increment? (MMC3)

Technically, is possible to increment Y on PPU cycle 256 during a write to $2006? I have an unfixable problem with MMC3 IRQs - the game Kick Master has a waving title screen. I can fix it if I delay the IRQ by 2 PPU cycles, but the MMC3 tests are broken.

Author:  Bregalad [ Thu Apr 07, 2016 12:18 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

I do not understand your question. This increment happens automatically, assuming redering is on. So of course this is "possible".

Author:  tokumaru [ Thu Apr 07, 2016 12:25 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

I'm not sure what the question is either... Are you talking about manually clocking the MMC3's scanline counter by manipulating $2006?

Author:  Zepper [ Thu Apr 07, 2016 5:21 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

There's a conflict between increasing Y at 256th and writting to $2006. If Y is clocked after the write, the background is waving. Else, it's fine.

Author:  zeroone [ Thu Apr 07, 2016 6:33 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Zepper wrote:
There's a conflict between increasing Y at 256th and writting to $2006. If Y is clocked after the write, the background is waving. Else, it's fine.


That sounds very similar to the Battletoads stage 2 freezing issue.

Author:  Disch [ Thu Apr 07, 2016 8:56 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Zepper:

Can you guess what I'm going to say? :wink:

Tracelogs!

Let's see a trace of a frame with screwed-up lines, with scanline&cycle marked, and NMI/IRQ marked. Then we can see where your window to write is and why the game is writing outside that window.

Author:  Zepper [ Thu Apr 07, 2016 10:54 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Disch wrote:
Zepper:

Can you guess what I'm going to say? :wink:


Can you guess what I am going to reply? ^_^;;

Remember of the problem with sprite zero hits? You saw the tracelogs and said "the sprite zero hit is off by 1". Well, if I fix this "off by 1", the test ROMs are broken too.
So, it's the same. But okay, I'll post the tracelogs soon.

Author:  Bregalad [ Fri Apr 08, 2016 12:37 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

I don't understand the problem. Time your code so that your write always fall before the increment, or always fall after the increment, and your BG won't be shaking. It's a matter of adding or removing a few nops. No big deal.

Author:  tokumaru [ Fri Apr 08, 2016 12:48 am ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Bregalad wrote:
It's a matter of adding or removing a few nops. No big deal.

Except Zepper is coding an emulator, not an NES program. :wink:

Apparently, adjusting the emulator to accommodate some games makes it fail some accuracy tests.

Author:  zeroone [ Fri Apr 08, 2016 1:48 pm ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Is there a way to deterministically synchronize game states between RockNES and Nintendulator to enable a comparison between the logs cycle-by-cycle?

Author:  Zepper [ Fri Apr 08, 2016 2:38 pm ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

zeroone wrote:
Zepper wrote:
There's a conflict between increasing Y at 256th and writting to $2006. If Y is clocked after the write, the background is waving. Else, it's fine.


That sounds very similar to the Battletoads stage 2 freezing issue.


Well... perhaps. I'm unsure about Battletoads.
Regarding Nintendulator, no.... it's not necessary. Even converting its savestate file to RockNES format won't help too.

Author:  zeroone [ Fri Apr 08, 2016 3:35 pm ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

Zepper wrote:
Regarding Nintendulator, no.... it's not necessary. Even converting its savestate file to RockNES format won't help too.


If you managed to do it, you could discover exactly why RockNES does not behave correctly.

Author:  Zepper [ Fri Apr 08, 2016 3:47 pm ]
Post subject:  Re: PPUADDR with Y increment? (MMC3)

zeroone wrote:
Zepper wrote:
Regarding Nintendulator, no.... it's not necessary. Even converting its savestate file to RockNES format won't help too.


If you managed to do it, you could discover exactly why RockNES does not behave correctly.


AFAIK, such log does not bring the helpful information I need, but only a complete CPU disassembling.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/