[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