Mail Archives: djgpp/1998/03/27/10:16:23
Chris Wahlen writes:
>I'm beginning to think that this may be some sort of bug in allegro's code -
>using handwritten VESA routines I can get to these modes, but with allegro I
>can't.
Allegro has some restrictions on how the video memory must be organised,
in particular that it doesn't allow a bank switch to occur partway
through a scanline. This can sometimes require adjustments to the
virtual screen width, and often causes problems on buggy VESA drivers
that don't handle these calls properly (particularly in 24 bit mode due
to the nasty odd alignments).
These troubles can usually be fixed by getting UniVBE, which handles all
the required routines correctly. Even better is to use a linear
framebuffer mode, in which the whole problem goes away because there are
no longer any bank switches at all.
If you are already using UniVBE in a linear framebuffer mode this
obviously doesn't apply: should this be the case, I would be very
interested if you could do some experimenting and try to find out how my
code differs from your routines that work properly...
--
Shawn Hargreaves - shawn AT talula DOT demon DOT co DOT uk - http://www.talula.demon.co.uk/
"Pigs use it for a tambourine" - Frank Zappa
- Raw text -