Ran into this working on my compo entry (?). Basically, the engine inits the characters from a table, moves and animates them and detects overlap with the background. It works with a few characters on screen, but any more causes the sprites to look corrupted.
The main loop with 6 characters takes 110 scanlines. So I don't think it's eating up too much CPU time. There's no sprite0 or hblank trickery in the screenshots below.
With all the sprites drawn on reset and no processing during the NMI, it looks fine:
With all the processing done (after 110 scanlines), it looks like this:
Here's another test: With just the main character being drawn, moving her to the top edge still causes glitches.
So has anyone seen this happen before? I thought it would be okay as long as there's no more than 8 sprites per scanline. I'll try burning 512 cycles after the DMA write (Just checked the wiki) but otherwise can't think of anything else.
The main loop with 6 characters takes 110 scanlines. So I don't think it's eating up too much CPU time. There's no sprite0 or hblank trickery in the screenshots below.
With all the sprites drawn on reset and no processing during the NMI, it looks fine:
With all the processing done (after 110 scanlines), it looks like this:
Here's another test: With just the main character being drawn, moving her to the top edge still causes glitches.
So has anyone seen this happen before? I thought it would be okay as long as there's no more than 8 sprites per scanline. I'll try burning 512 cycles after the DMA write (Just checked the wiki) but otherwise can't think of anything else.