Page 2 of 2

Posted: Wed Nov 01, 2006 9:28 am
by tokumaru
I see. I don't see a lot of use for that, but it's still nice to know.
Quietust wrote:reading $2004 does not increment the address pointer ($2003) - only writing does that.
That's probably what allowed you to use $2004 for reverse-engineering the sprite fetch behaviour, right? I mean, if each one of your reads would increment the address, you'd pretty much screw the fetching process.

Posted: Wed Nov 01, 2006 10:49 am
by Quietust
tokumaru wrote:I see. I don't see a lot of use for that, but it's still nice to know.
Quietust wrote:reading $2004 does not increment the address pointer ($2003) - only writing does that.
That's probably what allowed you to use $2004 for reverse-engineering the sprite fetch behaviour, right? I mean, if each one of your reads would increment the address, you'd pretty much screw the fetching process.
Not necessarily - the PPU uses a separate counter to address sprite memory during rendering, since $2003 affects how that counter is initialized on every scanline.