Dwedit wrote:
Do you have the basic frame timing correct?
262 total scanlines:
* 20 vblank scanlines (Trigger NMI at start of this time, set vblank flag)
* 1 prerender scanline (clear vblank, sprite 0 hit, sprite overflow at start of this time)
* 240 visible scalines
* 1 postrender/pre-vblank scanline
If games are getting messed up by lack of sprite 0 hit, you can temporarily cheat and use the timing of Sprite 0's pixels appearing on the screen as the trigger for that instead.
Also note that sprites are drawn one pixel below their Y coordinate.
Oh, I'm not calculating sprite 0 hit at all. I'm going to do what you suggested, and report back.
And yes I'm drawing sprites 1 pixel below.