delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/06/04/01:02:19

From: sandmann AT clio DOT rice DOT edu (Charles W. Sandmann)
Subject: DPMI low memory
To: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp)
Date: Thu, 3 Jun 1993 23:45:48 -0600 (CDT)

Forwarded message:
> Date: Thu, 3 Jun 93 22:22:15 EDT
> From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock)
> To: sandmann AT clio DOT rice DOT edu
> Subject: DPMI support (fwd)
> 
> > There is no direct way (without inline assembler) to access the low 1
> > Meg directly with pointers.  This is a price you pay with DPMI 0.9.
> > Unless someone wants to teach GCC about the concept FAR ...
> 
> In most cases, the only need for access to the low 1 Meg is for writing to the
> screen, but a lot of programs will need this.  Would it be possible to write
> some preprocessor macros which would produce the inline assembler code to
> access the screen?

An easier construct is to malloc() a virtual video buffer, and do all of your
operations onto the virtual copy.  When you want the screen to display, use
ScreenUpdate(ptr_to_virtual_screen).  Its amazingly fast, and there are a
minimum of modifications to existing code.  This algorithm also works when
writing native OS/2 character based code.  DOS windows under Win or OS/2 also
respond quickly when updated this way.

I can post some examples or put them somewhere once bandwidth resumes to a
somewhat normal state, if so desired.  If you want them, respond directly
to me, not this poor list!

- Raw text -


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