Hamtaro126 wrote:
In other words: What registers do I need to set and disable to get an 8 scanline setup?
You need to turn the PPU off. This is disabling both BG and Sprite rendering via $2001 (usually accomplished by just writing $00 to $2001).
Once the PPU is off, you can perform the sprite DMA (writing to $4014). Once that is complete you can turn the PPU back on by restoring $2001 to its original value.
It's worth noting that turning on the PPU mid frame like this will bork the scroll. So before you turn it on you'll probably want to write to the scroll regs: $2005 twice, and possibly $2000. But since this will probably muck up the fine V scroll you'll have to get really crafty with alternating $2005/$2006 writes which I don't feel like explaining because in all honestly I think an explanation would be somewhat wasted on you.
Quote:
Also: How do I stop the Flickering after removing the code that is used for enabling ''Sprite Zero''?
Depends what's causing it. Did you just remove the wait loop? I don't see how that'd cause flickering.. it'd just cause the screen to be split early (tearing the status bar so that some of it scrolls and some of it doesn't -- but I guess since the exactly scanline on which the tear happens changes it could look like flicker....)
To fix that -- simply wait until the desired scanline before the split (this waiting is exactly what Sprite-0 hit was for). An alternative way to wait is to have an IRQ fire on the desired scanline.
But if you're replacing the status bar with sprites, then you don't need to split the BG at all and can just set the normal scroll values right away instead of waiting for the split.
but I don't see how an all sprite status bar would work... since you only have 8 sprites per scanline -- you'd either have mad flicker, or a really small status bar, or most of the status bar just not being visible)