Mail Archives: djgpp/1997/08/06/01:19:38
Jonathon Ralston writes:
>Is it possible to scroll only *part* of the screen while in an SVGA
>mode, e.g., a 640 x 400 window? I noticed that ex19.c uses a mode X
>modex_split type function. Does this mean that the split screen
>text/scrolling only exists in mode X? Is there a version of
>scroll_screen() that scrolls only part of the screen, or a BITMAP
>buffer?
Allegro only supports this split-screen functionality in mode-X. It is
done by setting the VGA line compare registers (port 0x3D4, indexes
0x18, 0x7 and 0x9), which are supported by some SVGA chipsets but don't
work reliably on all hardware. VESA doesn't provide any way of accessing
this feature, so I can't see any way to implement it in SVGA modes.
If you want to try using the VGA register writes, edit modex.c, find the
function split_modex_screen(), and delete the check:
if (gfx_driver != &gfx_modex)
return;
That will make the function work in SVGA on some cards, but be warned:
your mileage will vary from one graphics card to another...
--
Shawn Hargreaves - shawn AT talula DOT demon DOT co DOT uk - http://www.talula.demon.co.uk/
Beauty is a French phonetic corruption of a short cloth neck ornament.
- Raw text -