RE: [DOS] graphics problem
hi vince
i don't have an answer, but i can join the call for help. i've spent a
lot of time trying to track this down. your post confirms my view that
it is a problem with the way the in-built routines, pixel() or
get_pixel(), map the pixel locations and/or the palette.
the problem only occurs on some machines (maybe just yours and mine!).
it doesn't happen on the machine at my other office. the problem
computer has an ati-ragepro card of about 1998 vintage.
on the problem machine, the effect is easiest demonstrated by running a
program that uses jiri's widgets in a 256-color mode, because the
transparent mouse (rat.e) routines use a xor method that leaves a trail
behind the mouse in all 256-color modes (and not in 16-color modes). i
have constructed demos to highlight this effect comparing the xor
display to an ordinary display. the xor method uses pixel() and
get_pixel().
this also allowed me to visually map the problem areas of the screen by
running the mouse over the screen. there are parts down the right side
and top that calculate the values correctly (no trail behind the mouse).
these parts are clearly delineated with a straight boundary. for this
reason, i suspect that your hunch, that the routines use the values of
the "scrunched" screen, may not be correct, as the problem areas do not
appear to correspond with the area that gets "scrunched" with vesa off.
my own conclusion was that some video cards and their drivers store the
screen values for different parts of the screen in non-standard memory
locations, and the windows driver translates this for windows, but not
for dos. i was intending to look for a dos driver for this card.
i'd be happy to hear whether robert can suggest a reason for this, since
it seems to depend on the source code of the in-built pixel routines.
but i doubt he can find a machine that will duplicate it. jiri tells me
he has never seen the problem on any machines, and he's tried plenty
over the years.
cheers
tacitus
Vincegg at AOL.COM wrote:
> Hello,
>
> I was wondering if someone might know an answer to this problem. I want
> to
> use video mode 257 but when I try to use it the displayed image appears
> jumbled and compressed to just the upper section to the screen. Fine,
> so I
> add use_vesa(1) to my program and displaying procedures (pixel,
> draw_line,
> display_image and such) work fine. But, get_pixel and the dependant
> save_image seem to be getting their image info not from the corrected
> display
> but the scrunched pre-use_vesa() image. Does anyone know why it's doing
> this
> or better yet how to get around it? Thanks for any info.
>
> Vince
>
>
|
Not Categorized, Please Help
|
|