[Coco] hardware scrolling
Mathieu Bouchard
matju at artengine.ca
Sun Dec 8 17:55:04 EST 2013
Le 2013-12-01 à 00:18:00, Steve Bjork a écrit :
> Now, on the subject of horizontal scrolling. This system of changing
> the pointer to what byte will be read at the start of a scan line does
> change the source of the graphics data. But that's not the change what
> bits of the byte to start with. The VDG must use the same one or two
> bits of a byte to create the first dot. (It can not "scroll" them.)
> So, you must scroll on 4 or 8 dot boundary based on the color mode being
> 4 or 2 colors. If in TEXT mode, the scroll would be by character
> (8-dots) and not by one dot at a time. Sorry, but scrolling on every
> fourth or eighth dot is not hardware scrolling.
Is there any way to change the size of the left and right borders ? If you
do so for a whole picture by an amount of 0 to 3 pixels wide, you can
combine it with a every-fourth-dot scrolling to make smooth scrolling in
almost all of the picture.
Playing with borders has been done extensively with VGA and Amiga, but I
don't know whether it's possible on CoCo, and to which extent (or maybe I
just don't recall).
> The other problem for horizontal scrolling is the CPU overhead. Since every
> scan lines will need the CPU to change the SAM registers before the start of
> the scan line, this will take about 30% to 60% away from doing real work.
> (That's the overhead of the h-blank interrupt on the CoCo 1/2.)
Huh, what do you need to change at every scanline ? I always assumed you'd
only need to set one thing per vblank.
______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
More information about the Coco
mailing list