PacManPlus, on Wed Apr 9, 2008 4:41 PM, said:
If I only wanted to rotate left (or right) one row of the playfield, how would I do it? I see there's a command to do the whole playfield screen, but I only want one row.
There isn't a built-in command to scroll just one row, but you can write an assembly routine to do it. I don't have time to try it right now, but it would be nice to have a routine to scroll a playfield row through a ROM table, so maybe I'll eventually get around to trying that and posting an example. For example, it would be cool to have different playfield rows scrolling at two or more different rates simultaneously.
PacManPlus, on Wed Apr 9, 2008 4:41 PM, said:
I also see that it doesn't work with the multisprite kernel (which I am using)
Also, if I wanted to scroll the playfield down, and I'm using the multisprite kernel, is there a way as well?
As batari pointed out, you can scroll vertically through a ROM table by defining a playfield that's taller than your displayed playfield area, and then changing the pointers that tell bB where the playfield data is.
Also, if you use the Superchip option with the multisprite kernel, then you can relocate the playfield to the Superchip RAM area, and use things like playfield drawing commands, and playfield scrolling-- but you have to write/use special versions of the include files, since the standard ones are designed for a 4-byte-wide asymmetrical playfield, whereas the multisprite kernel has only a 2-byte-wide reflected playfield. I've (re)written the routines for using playfield drawing commands in the multisprite kernel, but I haven't tackled scrolling yet, except for the vertical scrolling described in the previous paragraph.
Michael