Message-ID: <33C9141B.7BCE@wanadoo.fr> Date: Sun, 13 Jul 1997 19:44:59 +0200 From: Alan Poppleton Organization: Home MIME-Version: 1.0 To: DJGPP Subject: Fast memory copies (assembler) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk 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.