You might need to use larger variables/values. I'm not sure how you advance the screen, but you could do something like an acceleration of 8 advances 1 pixel a frame, an acceleration of 1 will advance 1 pixel every 8 frames, and an acceleration of 64 (!) would advance 8 pixels a frame. You could also use a higher value, though a power of 2 would be most convenient. That way you can just shift it over and get how many pixels you need to advance. Maybe every ten frames you could raise the acceleration by 1, assuming you're holding [2nd] that way it'll gradually get faster. So you could have two variables, acceleration and a scrolling variable. The acceleration gets added to the scrolling variable, and if it's greater than (say) 8, scroll the screen. If it's a multiple of two, you can just bit shift it over and you'll have how many pixels to scroll.