Re: A86: SCrolling


[Prev][Next][Index][Thread]

Re: A86: SCrolling




At 16:09 1998-10-27 -0600, you wrote:
>
>Could you shed some light on the more complex and faster ways?  rotate \
>increment/decrement instructions are the fastest ways that I can see to
>shift bytes around.  I thought about using port 0 for hardware scrolling,
>but would only work for up and down, and that would only scroll it in
>increments of 256 bytes, or 1/4 of the screen.

Actually, the scrolling part can't be made faster, but that's not the point.
When you scroll left<->right, you always have to fill in the newly appeared
column to the left/right, and that takes quite some time actually. I've
developed another scrolling engine which is about the same speed, but
much much more flexible. For instance, you can scroll two or three
pixels at a time instead of just one. As I said, it's very complex involving
using of all register & shadow registers, 2k lookup tables, dynamic
code creation (the 16k at RAM page 1 comes in handy :) ) Also, sprite
routines with the new engine (where the scrolling is already working)
are extremely fast and doesn't require clipping (that's done automatically).

I will release the engine (and source of course) when I've finished with
the sprite routines and put together a cool demo.

--
Real name:     Jimmy Mårdell
Email:         mailto:yarin@acc.umu.se
Homepage:      http://www.acc.umu.se/~yarin/

Icarus Productions homepage: http://icarus.ganymed.org/


References: