delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/02/04/00:07:59

Xref: news2.mv.net comp.os.msdos.djgpp:763
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: memory mapped access to video ram
Date: Thu, 01 Feb 1996 20:29:17 CST
Organization: Rice University, Houston, Texas
Lines: 28
Message-ID: <311176fd.sandmann@clio.rice.edu>
References: <4eqtk1$pm7 AT sun0 DOT urz DOT uni-heidelberg DOT de>
Reply-To: sandmann AT clio DOT rice DOT edu
NNTP-Posting-Host: clio.rice.edu
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

> is it still possible to access VGA ram directly under djgpp v2 ? 

You can access it directly using <sys/nearptr.h>, but it won't automatically
bank switch.  If you have a VESA 2.0 setup (try UNIVBE if not) you can 
quite often establish a linear frame buffer in extended memory.

> I have some old code which does exactly this under v1.xx, where I could 
> access all VGA ram as if it were linear ram at 0xd0000000. 

This only worked in non-DPMI mode under V1.x, and never worked under DPMI
providers such as Windows, so it was a non-portable solution.

> This code crashes when i use djgpp v2. 

Yes, the automatic bank switching at a single address cannot be supported
under DPMI 0.9

> Does the base address have been changed ?

It's no longer at a fixed address.  It will change under various DPMI 
providers and with various video cards.

> BTW, I would like to use the graphic in a fullscreen Windows 95 dos box. 

Either use GRX 2.0, or roll your own with a VBE 2 linear frame buffer.  There
is no way to get automatic bank switching under Win95, unless you can convince
Mr. Bill to support a 5 year old standard called DPMI 1.0.  Sorry, too busy
creating new buggy proprietary code to look at standards.

- Raw text -


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