www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/13/13:46:13

Message-ID: <33C9141B.7BCE@wanadoo.fr>
Date: Sun, 13 Jul 1997 19:44:59 +0200
From: Alan Poppleton <Alan DOT Poppleton AT wanadoo DOT fr>
Organization: Home
MIME-Version: 1.0
To: DJGPP <djgpp AT delorie DOT com>
Subject: Fast memory copies (assembler)

I am using VESA mode 640*480*256 with a virtual screen that i have 
allocated using malloc.  I only have VESA 1.2 and am switching the banks 
 using the real mode vesa interrupt.  The problem is that I am updating 
the screen 40 times a second and the copying is too slow.  I have timed 
various ways of copying memory (_dosmemputl(), movedata() and even with 
the dpmi_nearptr_enable()) and they all give the same results - too 
sloooow for my purposes.  Could I maybe use assembler to speed things 
up? If so, how?  Otherwise what is the fastest method of copying and the 
best way to implement it?
	Or is there another way, without using a virtual screen to get  
flicker-free updating that is not too complicated?  The advantage of the 
virtual screen is the minimal bankswitching (only 5 times per update) 
and this only takes a short amount of time so please don't suggest 
switching to VESA 2.0.

- Raw text -


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