RE: [DOS] graphics problem
- Posted by tacitus <indorlaw at zdnetonebox.com> Sep 05, 2001
- 462 views
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 > >