www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/28/17:18:44

From: Shawn Hargreaves <Shawn AT talula DOT demon DOT co DOT uk>
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: <q07JZBAD6R2zEwTj@talula.demon.co.uk>
References: <199707221500 DOT IAA26318 AT adit DOT ap DOT net>
<h9b6bEAOrn1zEwLf AT netbook DOT demon DOT co DOT uk> <33d79d82 DOT 403618 AT news1 DOT telepac DOT pt>
<xmerm05 DOT 3 DOT 33D8702E AT vse DOT cz> <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

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.

- Raw text -


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