VESA BIOS Extensions — Änderungen 8436 → 8439

Zeile 244: Zeile 244:
  
 
== VBE 3.0 ==
 
== VBE 3.0 ==
−
//TODO
+
VBE 3.0 bietet nicht viele neue Funktionen an. Eine der wichtigsten ist die Unterstützung für [[Triple Buffering]], für die zwei neue Funktionen eingeführt wurden:
 +
 
 +
ScheduleDisplayStart:
 +
*AX=4f07h
 +
*BL=0
 +
*BH=2
 +
*ECX=Offset des ersten Pixels im [[LFB]]
 +
GetDisplayStartStatus:
 +
*AX=4f07h
 +
*BL=0
 +
*BH=4
 +
*liefert AX!=0, wenn das Bild im Buffer, der mit ''ScheduleDisplayStart'' gewählt wurde, auf dem Bildschirm abgebildet wurde.
 +
 
 +
 
 +
Diese beiden Funktionen kann man natürlich auch für [[Double Buffering]] verwenden:
 +
* Den ersten Buffer rendern
 +
* Ihn mit ''ScheduleDisplayStart'' auswählen
 +
* Während der erste Buffer auf dem Bildschirm erscheint, den zweiten rendern
 +
* Mit ''GetDisplayStatus'' darauf warten, dass der erste Buffer komplett auf dem Bildchirm gezeichnet wurde
 +
* Den zweiten Buffer mit ''ScheduleDisplayStart'' auswählen
 +
* Das Bild wieder im ersten Buffer rendern
 +
* Mit ''GetDisplayStatus'' darauf warten, dass der zweite Buffer komplett auf dem Bildchirm gezeichnet wurde
 +
* Den ersten Buffer mit ''ScheduleDisplayStart'' auswählen
 +
* usw.
 +
 
 +
[[Double Buffering]] wäre auch schon mit VBE 2.0 möglich (siehe Funktion: 4F07h, 80h – Set Display Start During Vertical Retrace). Allerdings ist müsste man hier direkt auf die Grafikkarte zugreifen, um das Timing hinzukriegen.
  
 
== Weblinks ==
 
== Weblinks ==
 +
* http://www.phatcode.net/res/221/files/vbe20.pdf - VBE Spezifikation 2.0
 
* http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf - VBE Spezifikation Version 3.0
 
* http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf - VBE Spezifikation Version 3.0
−
* //TODO: Link für VBE 2.0 ( und VBE 1.0?)
 
 
[[Kategorie:Glossar]]
 
[[Kategorie:Glossar]]