From: akallio AT finlink DOT net (Aleksi Kallio) Newsgroups: comp.os.msdos.djgpp Subject: Re: VESA 1.2 Problem Date: Tue, 16 Dec 1997 19:51:39 GMT Message-ID: <34969933.9536895@195.10.154.8> References: <3492C4EC DOT AD434EF0 AT juno DOT com> NNTP-Posting-Host: dial046.finlink.net Lines: 22 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk >I'll get to the point. I'm programming a game using VESA 1.2. I write >all of my graphics to a memory buffer, and copy them to the screen when >it's ready. My problem is, I can't afford to check every single pixel >for a change in bank. I need some kind of routine that will copy the >memory buffer to the screen as fast as possible, without having to do as >many tests for changing banks. Any help would be appriciated. Well, my first answer is: Get VESA 2.0 specs, and learn to use LFB. That stands for Linear Frame Buffer, and means that you have all data in one big array, no banks or other rubbish. But of course LFB requires support from hardware, or driver like UniVBE. But if you want to stick with bank swithching.. First, you said that you have double buffer, and you copy it to screen. And check bank for every pixel. Why? Just switch bank one, copy as much as bank holds, switch bank two etc.. until you have copied all the data. If this wasn't clear enough, ask more! -= Mikko Aleksi Kallio - Acute / Hubris^BoSH =- -= www.finlink.net/~akallio/ - akallio AT finlink DOT net =-