I've been trying to figure out a way to hide scrolling glitches again, something that has already been discussed in topics such as this and this). I was trying to come up with a new method that didn't require IRQs or special mappers (i.e. NROM-friendly) and didn't require a lot of sprites (like Alfred Chicken or Felix the Cat do). I was also trying to avoid relying on obscure PPU behavior (such as $2004 reads), but something's gotta give.
The only obscure thing I need is to change the scrolling through $2005/$2006 in the middle of a frame, which isn't such an obscure trick, as it's already known for a long time. I decided to ask this in a new thread because this isn't necessarily related to scrolling glitches.
Anyway, does anyone know the protocol for safely resetting the scroll to any point in the name tables? I do understand Loopy's scrolling documents and know how to modify the registers, what I need to know is the correct time to modify them. Can that be done during HBLANK without the need for turning rendering off? Are there any problems regarding the two tiles that are fetched in the previous scanline (glitches)?
Also, if anyone can point me to a game that has done this and is proven to work on hardware without glitches, that'd be great. Thanks for the help.
If my idea is proven to work, I'll be sure to describe it here later.
The only obscure thing I need is to change the scrolling through $2005/$2006 in the middle of a frame, which isn't such an obscure trick, as it's already known for a long time. I decided to ask this in a new thread because this isn't necessarily related to scrolling glitches.
Anyway, does anyone know the protocol for safely resetting the scroll to any point in the name tables? I do understand Loopy's scrolling documents and know how to modify the registers, what I need to know is the correct time to modify them. Can that be done during HBLANK without the need for turning rendering off? Are there any problems regarding the two tiles that are fetched in the previous scanline (glitches)?
Also, if anyone can point me to a game that has done this and is proven to work on hardware without glitches, that'd be great. Thanks for the help.
If my idea is proven to work, I'll be sure to describe it here later.