For one of my stages in my game with lava at the bottom, I'd like to create a sine wave movement pattern to make things look more interesting. However, my game is small and is based on very simple cart hardware so I use the DMC for raster effects. I know that I need to do this with timed code because for the effect to look nice I have to be able to change the X scroll every scanline, which is not possible with DMC IRQs alone. I have minimized the jitter from the uneven timing but there's still up to about half a scanline's worth of difference and I'd have to start my timed code at the same pixel (or close to the same pixel) every frame. Is there any way to do this without bringing sprite 0 into the picture? My only idea is that I'd wait for an IRQ a bit above the lava and then start polling the sprite 0 bit to get the proper timing, but I can't afford to risk missing one of these hits because I also need the sprite 0 bit to be set during the frame to wait for the end of Vblank at the end of the frame (needed for the IRQ timing adjustment).