delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/07/08:41:21

Date: Fri, 7 Jan 2000 19:50:15 +0100 (CET)
From: Wilmer van der Gaast <lintux AT dds DOT nl>
To: djgpp AT delorie DOT com
Subject: Re: Moving a screen buffer to the screen
In-Reply-To: <852ud7$pqj$1@news.tue.nl>
Message-ID: <Pine.LNX.4.10.10001071946300.598-100000@server.minilinux.org>
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 Thu, 6 Jan 2000, Student, T.U.E. wrote:

> Hi,
> 
> Could somebody please tell me how I have to move a virtual screen buffer to
> the standard (mode 13h) vga screen in inline assembly?
> 
> Ton van den Heuvel.

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)


Greetings

---------

Wilmer van der Gaast (lintux AT dds DOT nl)
ICQ 55707076

- Raw text -


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