[comp.sys.m6809] Horz. & Vert. scrolls

VanGough@sandv.UUCP (Vincent Clarke) (04/17/91)

What are the best ways to scroll a hires graphics screen using the GIME? 
Applications I need to use them for are game prog. where extensive scrolling
will be done, at best possible speeds.  The Vertical-Fine Scroll Register at
$FF9C (only scrolls by amount set for Lines per chr. row (bits 0-2 at $FF98),
but setting these bits at anything other than 000 (1 line/row) will cause the
graphics to be as tall as the set lines/row).  The Screen Start Addresses
($FF9D-E) seem like a good way around this, but you can only specify
addresses in blocks of $xxxx0, but I guess that works okay when you have to
set up your hires screen to use the Horizontal Offset Register (setting bit 7
at $FF9F).  This will set up a larger hires screen (apparantly additional 127
bytes wider), so no matter what screen I'm using the additional 127 bytes
allows me to do a vert. scroll pretty easily.  Naturally I don't want to have
my screen address to go flying through memory, so once I hit the top (or
bottom) of an 8k block I can just flip blocks at the MMU and move the screen
address back to the bottom (or top) as needed.  This would seem to work
great, but horiz. scrolling seems more difficult...  I'd like to do something
similiar as switching blocks (instead of rotating or copying bytes of memory)
but since I'm only getting 127 additional bytes of mem. I can't use the 320
16 color screen, but I think 256 16 colors will work fine.
Wow, rereading my message leads me to think that noone will understand what
I'm talking about, but I hope someone does...  Thanks for any help anyoone
can give.