www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/05/11/15:18:27

Date: Wed, 11 May 94 14:32:39 EDT
From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock)
To: jordan AT u-bourgogne DOT fr
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Some help about djgpp C/C++
Reply-To: babcock AT cfa DOT harvard DOT edu

>     - how can I write directly in the video ram (text mode) ?
>     - how can I access to a specific PHYSICAL address (such as with
>       Borland C peek and poke instructions

See internal.doc for the mappings of the first MB of memory and VGA video
memory in non-DPMI mode.  In DPMI mode you need to use far pointers, and gcc
doesn't support these.  Starting with maintenance level 5, djgpp includes
inline functions for emulating far pointers; look at farptr.h for details.

As I enter this, I realize that I don't know how to obtain a selector which
points at a physical address outside the first MB.  I suspect that there is a
standard DPMI function call to do this, but is there a C routine which
implements this call, and does go32 support this function?  This question has
come up several times, usually in the context of a frame grabber or other
hardware add-on which has memory which can be jumpered to appear at some high
address.  The answer used to be that hacking go32 was required, but perhaps
it is easier now.

- Raw text -


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