Für Spieleklassiker: DOSBox emuliert Voodoo-Grafikkarte von 3dfx

Dem im Jahr 2000 von Nvidia übernommenen Unternehmen 3dfx gebührt ein großer Anteil an der kurzen Geschichte von 3D-Spielen für PCs. Während Anfang der 1990er Jahre zahlreiche Unternehmen wie Matrox, S3 und Tseng um die ideale Lösung für 3D-Grafik für private Anwender stritten, konnte das Startup 3dfx schon mit seinem ersten Chip beeindrucken. Sein Name: SST-1 alias Voodoo Graphics.
Das war jedoch für Branchenkenner wenig überraschend: 3dfx wurde von ehemaligen Mitarbeitern von Silicon Graphics gegründet, und dieses Unternehmen stand schon ein Jahrzehnt lang für konkurrenzlose Grafikworkstations. So löste auch der SST-1 mit schneller Polygonberechnung und gefilterten Texturen viele der Versprechen ein, die andere Unternehmen in der ersten Welle des 3D-Hypes nur gegeben hatten.
Kleines OpenGL für Privatleute
Dazu hatte 3dfx mit seinem Know-how aus dem professionellen Bereich Teile von OpenGL umgesetzt und diese Spieleschnittstelle dann Glide genannt – die ersten beiden Buchstaben erinnern an die Abstammung. Da die Qualität der Grafik sonst kein Chip erreichte und Glide einfach zu benutzen war, setzten viele Spielehersteller ihre Titel für Voodoo-Karten um.
In der Folge entstanden viele Klassiker wie Ultima IX oder der erste Teil der Reihe Tomb Raider. Wer Mitte der 1990er Jahre den direkten Vergleich hatte, empfand solche High-End-Spiele nur mit Voodoo-Karten als wirklich erträglich, denn sie erreichten fast unabhängig von der restlichen Hardware stets konstante Bildraten. Die Grafikchips mussten sich dabei auch nur um 3D kümmern, denn: Eine 2D-Karte, durch deren Anschluss das Signal der Voodoos geschickt wurde, musste immer zusätzlich im Rechner sein. Das war mit Preisen von 300 bis 400 Mark pro 2D- oder 3D-Karte schon damals kein billiges Vergnügen.
Nutzbar sind solche Klassiker heute nur, wenn die Hard- und Software noch vollständig erhalten ist. Ein gut gepflegter PC mit einem Pentium- oder 486-Prozessor – den unter diesem Namen auch AMD anbot -, ISA- und PCI-Slots und natürlich Windows 95 oder 98 sind dafür nötig. Emulatoren wie DOSbox konnten bisher mit Glide-Spielen nichts anfangen.
Glide für DOSbox
Der Programmierer mit dem Pseudonym "kekko" arbeitet jedoch schon seit Monaten an einer Unterstützung von Glide und dem SST-1 für DOSbox. Sein erstes Build stammt bereits vom August 2010, und im Forum des Projekts berichten einige Anwender von guten Erfahrungen: Viele Spiele lassen sich nutzen, zum Teil gibt es aber noch massive Grafikfehler. Neben DOS-Spielen laufen auch die Windows-95-Versionen der Titel mit Glide.
Wie dem Thread(öffnet im neuen Fenster) , der die Entwicklung begleitet, zu entnehmen ist, muss kekko dafür zur Emulation der Chips den SST-1 neu entwickeln. Derzeit ist die Emulation noch recht langsam, was vor allem daran liegt, dass der Grafikprozessor die Bilder stets zeilenweise in "Scanlines" berechnet. Per "Scanline Interleaving", oder SLI, ließen sich schon vor 15 Jahren zwei Grafikkarten koppeln, Nvidia nennt seine entsprechende Technik immer noch ebenso.
Noch sehr langsame Emulation
Die zeilenweise Berechnung in einer Emulation ist aber sehr zeitraubend, da die gesamte Pixel-Pipeline mehrfach durchlaufen werden muss, um beispielsweise Filterfunktionen durchzuführen. Der im Vergleich zu einem Grafikprozessor langsame PC-Hauptspeicher und viele Lese- und Schreiboperationen darauf bremsen auch mit modernen CPUs – denn diese müssen ja die Emulation durchführen.
Laut kekko könnten eine Aufteilung in Threads und die Durchführung der mehrfachen Operationen per OpenGL die Emulation deutlich beschleunigen. Am liebsten wäre ihm aber, nur die Geometrie per OpenGL berechnen zu lassen. Da hier noch kein Königsweg gefunden ist, steht auch noch nicht fest, ob und wann die Voodoo-Emulation fester Bestandteil von DOSBox wird.
DOSbox ist mit einem stabilen Build inzwischen bei Version 0.74(öffnet im neuen Fenster) angekommen. In diese lässt sich die Voodoo-Emulation(öffnet im neuen Fenster) einklinken. Frühere Versuche brauchten stets ein eigenes Build von DOSbox. Wie stets erfolgt die Benutzung solch experimenteller Software im Entwicklungsstadium auf eigene Gefahr.