Mail Archives: djgpp/1995/09/04/18:26:13
On Thu, 31 Aug 1995, Ming-Jui Liao wrote:
> I just got the beta version of the DJGPP. I read the faq for version one.
> It said that DJGPP V2 will map the SVGA memory to 0xD0000000 to
> 0xD0100000 continuously under DPMI. I tried to use a pointer to write to
> the Video memory but it didn't work.
Since I wrote the FAQ, this is probably my fault, in that I did not 
explain myself clearly.  However, it seems to me that the following 
excerpt from the FAQ says exactly the opposite: the video memory mapping 
to a specific address will *NOT* work in v2.0.  You should use the farptr 
functions as explained elsewhere in the FAQ.
                   In non-DPMI mode, the entire graphics video memory is
         mapped 1:1 starting at 0xD0000000 in the program's address space;
         the DJGPP paging mechanism  understands how SuperVGA's map their
         memory onto the AT bus and automatically swaps pages as the
         program tries to access them.  The program sees a linear range
         from 0xD0000000 to 0xD0100000 that corresponds to each pixel in
         the 256-color modes of SuperVGAs.  For this to work correctly,
         you will have to set the GO32 environment variable to the
         graphics driver suitable for your SuperVGA card, like this:
          SET GO32=driver c:\djgpp\drivers\ati.grd gw 640 gh 480 tw 132 th 43
         In DPMI mode this won't work.
- Raw text -