www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/08/20/23:01:25

Xref: news2.mv.net comp.os.msdos.djgpp:7685
From: "John M. Aldrich" <fighteer AT cs DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: buffer -> screen transfers
Date: Tue, 20 Aug 1996 20:00:24 -0700
Organization: Three pounds of chaos and a pinch of salt
Lines: 23
Message-ID: <321A7BC8.27F4@cs.com>
References: <320647A3 DOT 5827 AT cadvision DOT com> <3209b332 DOT 21898266 AT news DOT wolfe DOT net> <32141C89 DOT 5DB5 AT gbrmpa DOT gov DOT au> <4vd0s1$m76 AT ursa DOT smsu DOT edu>
NNTP-Posting-Host: ppp211.cs.com
Mime-Version: 1.0
To: "Tony O'Bryan" <root AT ursa DOT smsu DOT edu>
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Tony O'Bryan wrote:
> 
> Will __crt0_nearptr_enable allow a pointer to linear address 0xa0000 to
> directly access the video screen?

Yes, but you have to reference all your direct memory writes with
__djgpp_conventional_base to get the *correct* pmode address to write to.
So, the correct address for the VGA screen would be the following:

char *VGAscreen = (char *) (0xA0000 + __djgpp_conventional_base);

Read the description of the __djgpp_nearptr_enable() function for more
info, including a complete example (using the text screen, but the
technique is the same).

John

-- 
----------------------------------------------------------------------------
| John M. Aldrich, aka Fighteer I     |       fighteer AT cs DOT com              |
| Proud owner of what might one day   |  Plan: To make Bill Gates suffer   |
| be a spectacular MUD...             |  Tagline: <under construction>     |
----------------------------------------------------------------------------

- Raw text -


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