delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/07/15:39:26

Date: Sat, 8 Jan 2000 00:00:52 +0500 (MVT)
From: Prashant TR <prashant_tr AT yahoo DOT com>
To: Wilmer van der Gaast <lintux AT dds DOT nl>
cc: djgpp AT delorie DOT com
Subject: Re: Moving a screen buffer to the screen
In-Reply-To: <Pine.LNX.4.10.10001071946300.598-100000@server.minilinux.org>
Message-ID: <Pine.LNX.4.10.10001072337450.691-100000@yahoo.com>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: dj-admin AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Fri, 7 Jan 2000, Wilmer van der Gaast wrote:

> This might work:
> 
> mov esi,src_ptr // Source pointer
> mov edi,scr_ptr // Screen pointer
> mov ecx,16000   // 320*200/4
> cld             // Just to be sure it's the right direction
> rep movsd       // Copy 4 bytes/dwords 16000 times
> 
> The scr_ptr can't be 0xA0000, unless you use big_ds or so, maybe. I use
> the map_linear_memory (?) call to map the screen buffer in the normal
> address range that can be used with standard C pointers.
> 
> (Haven't tested it)

This won't work unless you change the DS and ES selectors to _dos_ds. And,
of course, convert all this code to GAS.

Prashant

- Raw text -


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