nesdev.com
http://forums.nesdev.com/

PPU race condition - $2006 vs Y-increment
http://forums.nesdev.com/viewtopic.php?f=3&t=14436
Page 1 of 1

Author:  Zepper [ Tue Jun 21, 2016 5:10 pm ]
Post subject:  PPU race condition - $2006 vs Y-increment

The "PPU race condition" occurs when a Y-increment triggers after a $2006 (second) write, which should win. Games that are affected by this thing are Mega Man 5, The Simpsons - Bart vs Space Mutants, Kick Master, among others.

A way of fixing it is to put a flag that indicates a $2006 2nd write. If this flag is raised on Y-increment, the increment won't occur after PPU cycle 254 (or 255 depending of how you're counting cycles).

I wonder if this is a real condition... or an obscure timing bug in emulators.

Author:  zeroone [ Tue Jun 21, 2016 5:35 pm ]
Post subject:  Re: PPU race condition - $2006 vs Y-increment

With the flag does it still pass all the test ROMs in addition to fixing all the games?

Author:  x0000 [ Wed Jun 22, 2016 3:48 am ]
Post subject:  Re: PPU race condition - $2006 vs Y-increment

Should be quite easy to write a test rom for this, someone should definitely make it and test on a real console.

Author:  Zepper [ Wed Jun 22, 2016 7:01 pm ]
Post subject:  Re: PPU race condition - $2006 vs Y-increment

No problems. Sprite zero tests are OK, including overflow bit and MMC3 IRQs.

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