Ok, the routine is attached. I'm not sure what your set-up is with extensions etc, so this is written in pure STOS. I guess you'll need the newest STOS version off exxos' site though.
I've never used the Control extension so I don't know how high level the syntax of the hardscroll commands are. My routine is not high level at all
- basically, it just dynamically adjusts the current screen address, really really fast, to whatever is in D0 (set using dreg(0)=... command). It does so using hex machine code instructions.
So (and apologies if this is obvious), to get the scroll effect you need to adjust the address in D0, e.g. by 160 bytes for a one line y-scroll, and then recall the routine... I've commented the attached.
What you potentially lose in neatness, you'll gain in speed. If the Control extension's commands really are using ~5% screen time, then this will beat that by a huge, huge factor. It actually only needs two ASM instructions (plus an rts) per vbl. So we're talking a few cycles here, not a few %!
Let me know how you get on and if you need me to explain anything further. And, *awesome* that you're working on a game project in STOS. Can you give any more details?
I'm working on a game too at the moment - loving it!!
You do not have the required permissions to view the files attached to this post.