www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/09/13/06:15:55

Date: Tue, 13 Sep 1994 15:59:56 +22305931 (WAUST)
From: Ron Grunwald <rgrunwal AT bluering DOT cowan DOT edu DOT au>
Subject: Re: Manual VGA access with VESADRV.VDR
To: Greg Hanssen <hanssen AT netcom DOT com>
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu


On Sat, 10 Sep 1994, Greg Hanssen wrote:

> Hello!
>    I'm finally getting around to updating a bunch of code to work with
> the VESADRV.VDR driver but am running into a few problems....
> 
>    Most of my programs access the screen directly at 0xD0000000 by
> using a unsigned char * pointer... This worked fine for the old
> drivers (paradise.grd, tseng4k etc..) but I'm finding with the new
> vesadrv.vdr driver (and the new 1.03 libgrx lib and include files)
> that I get 8 pixel wide blocks per single unsigned char access to
> the screen... The 1024x768 mode becomes a 128x768 mode of 8 pixel
> wide blocks... Also, I can only plot in the last color used (via the
> regular GrPlot or GrLine).. No matter what color I ask for (0-255)
> I only get the last used... 
>  
>   Of course GrPlot works great, but it's not as fast as my code used
> to be with the direct access... I tried looking at the source code for
> GrPlot, but got bogged down in Mouse stuff (?)  I assume there is some
> VGA register that needs to be set?  Any help would be appreciated! 
> 

I don't actually use GRX for any of my graphics, instead I've developed 
my own routines, but I wonder if this function you're using behaves 
similar to the following situation.

In VGA graphics write mode 2, if the VGA Bit Mask register contains
0xFF, and the bytes that get written into screen memory directly 
contain 0xFF, then 8 pixels are written simultaneously to the display,
giving the effect you are getting at the moment.

** A point to note is that
the VGA Bit Mask register, as with most other registers, will not reset
itself unless it is written into with a new value. Maybe, the effect
you are getting is the result of some initialization which was not
restored afterwards ?


Hope this will give you some clue as to what's going on here.

   Ron.




 +----------------------------------------------------------------------+
 | Author             : Ron Grunwald                                    | 
 | Internet           : rgrunwal AT bluering DOT cowan DOT edu DOT au                  | 
 | Department         : Information Technology                          | 
 | Division/Faculty   : Operations and Systems Management               | 
 | Institution        : Edith Cowan University, Churchlands Campus      | 
 | Location           : Perth, Western Australia                        |
 +----------------------------------------------------------------------+


 



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019