From: Shawn Hargreaves Newsgroups: comp.os.msdos.djgpp Subject: Re: Vesa 2.0 is slower than 1.2 on my video card !!!!! Date: Fri, 25 Jul 1997 22:45:39 +0100 Organization: None Distribution: world Message-ID: References: <199707221500 DOT IAA26318 AT adit DOT ap DOT net> <33d79d82 DOT 403618 AT news1 DOT telepac DOT pt> <33d8d7a0 DOT 2209688 AT news1 DOT telepac DOT pt> NNTP-Posting-Host: talula.demon.co.uk MIME-Version: 1.0 Lines: 40 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Ricardo Cunha writes: >When a board suports Vesa 1.2 it's prepared to be fast with that calls >but when a board doesn't suport Vesa 2.0 that kind of calls don't do >anything. It's necessary to translate to Vesa 1.2 or to native calls. I'm sorry, but this is 100% incorrect. The only functions that matter from a programming point of view are those for changing banks, altering the palette, and setting the display start address (other stuff like mode setting only happens once at startup, so efficiency isn't much of a concern). All three of those translate at the hardware level into a few writes to hardware port addresses, the details of which vary from one card to another. Using a VESA 1.2 driver, you issue calls to real mode interrupt 0x10, which is trapped by the VESA driver and translated into the appropriate register writes for your card. With VBE 2.0 you can either call these same interrupts or use the protected mode code stub, which does exactly the same thing but without the switch into real mode (hence it is a lot faster). Nowhere does the VBE 2.0 driver issue any calls to VESA 1.x functions... >The major modification it's the linear mode. In this case, it's used a >buffer as the video memory to retain the game (Vesa 2) calls and then >the buffer it's send to the board with Vesa 1.2 or native calls. >In some boards it's used native calls, in others is used Vesa 1.2 Where on earth did you get that idea? Sure, the linear framebuffer is a VBE 2.0 feature that isn't supported on some older cards, but on such hardware UniVBE (or any other VBE 2.0 driver you care to mention) will simply fail to provide those modes. Try it, if you have access to any non-lfb graphics cards (I do, so I'm speaking from experience here). Some of SciTech's libraries like MGL do try to provide virtual linear addressing on cards that don't support it directly, but that is a much higher level thing and nothing to do with the underlying VESA driver. Please get your facts straight before posting this kind of misinformation... -- Shawn Hargreaves - shawn AT talula DOT demon DOT co DOT uk - http://www.talula.demon.co.uk/ Beauty is a French phonetic corruption of a short cloth neck ornament.