VESA BIOS Extension
Die VESA BIOS Extension (VBE) ist ein Standard der Video Electronics Standards Association (VESA) für Grafikkarten in IBM-kompatiblen Personal Computer (PCs).
Sie sind eine üblicherweise im Grafikkarten-BIOS implementierte Programmierschnittstelle (API) die den Programmen Interrupts zur Verfügung stellt, um damit Aktionen wie das Setzen oder Abfragen von Videomodi durchzuführen sowie weitere von der Hardware unterstützte Funktionen anzusprechen. Heutige Pendants wie etwa DirectX und OpenGL sind hingegen auf Betriebssystemebene implementiert.
Primär war die VESA BIOS Extension für 16-Bit-Applikationen unter DOS gedacht. Der Framebuffer kann allerdings auch von 32-Bit-DPMI-Programmen verwendet werden. Mit der Einführung der VBE 2.0 war es somit möglich, Grafikmodi in 16 Bit Farbtiefe (65.536 Farben) mit Auflösungen bis zu 1600×1200 zu verwenden, ohne gezielt programminterne Unterscheidungen zur verwendeten Grafikhardware zu implementieren. Unter DOS gab es vorher keine standardisierte Schnittstelle für Grafik, die über den VGA-Standard hinausging.
Die aktuelle Version des Standards ist 3.0, welcher abwärtskompatibel zur vorherigen Spezifikation 2.0 ist. Er wird von den meisten modernen nVidia-Grafikkarten unterstützt, wird allerdings kaum noch von Anwendungssoftware verwendet, da heutzutage die Hardware von der Anwendung nicht mehr direkt angesprochen wird (s.u.). Bereits seinerzeit wurden die mit dem Standard 3.0 eingeführten Neuerungen gegenüber dem Standard 2.0 nicht verwendet, da mit dem Standard 2.0 bereits alle wesentlichen Funktionen zur Verfügung stehen. Die wesentliche Neuerung war der Protected Mode Entry Point, der aber in modernen Systemen aus designtechnischen Gründen (es müsste Wechsel in den 20-Bit-Protected-Mode stattfinden) nicht genutzt wird. Zudem werden in Desktop-Systemen wie Microsoft Windows und Linux von der Grafikkarte unabhängige APIs verwendet, die dann entsprechende Funktionalität über herstellerspezifische Treiber mit wohldefinierten Schnittstellen umsetzen. Ferner werden insbesondere bei Laptops aufgrund der dortigen besonderen Displaygrößen einige der Modi mit WXGA-Auflösungen überschrieben.
Die meisten MS-DOS-basierten Spiele zwischen etwa 1993 und 1997 verwendeten die schnellen 16-Bit-Modi mit niedriger Auflösung wie etwa 320×200 oder 320×240, später 640×480. Da jedoch nicht alle Grafikkarten bei Einführung dieses Standards entsprechende Funktionalität im BIOS der Karten implementierten, gab es universelle Zusatzprogramme (etwa UniVBE, später Scitech Display Doctor) wie auch hardwarespezifische Zusatzprogramme (etwa S3VBE Core 2.0 für S3-Grafikkarten oder TLIVESA für Tseng-Labs-Grafikkarten), die entsprechende Unterstützung anboten. Erst hiermit war es dann in entsprechenden Fällen möglich, dass die Modi genutzt werden konnten.
Der Standard spielt heute jedoch noch unter Linux eine Rolle: Sind Open-Source-Grafikkartentreiber für bestimmte Grafikkarten nicht verfügbar, so können nur durch Verwendung eines Treibers, der die hier beschriebene Funktionalität nutzt, Auflösungen von mehr als 640×480 Pixel bei mehr als 256 Farben verwendet werden.
Entsprechender Standard spielt jedoch nur für die 2D-Darstellung eine Rolle. Standards zur 3D-Beschleunigung werden dadurch nicht abgedeckt bzw. definiert.
Liste der Modi
|
|
Mit Bit lassen sich verschiedene Farben darstellen. Diese können hierbei aus einer Palette von möglichen, verschiedenen Farben gewählt werden (siehe dazu: RGB-Farbraum).