Grafik und Sound beim IBM PC
Als IBM den IBM PC schuf, dachte man nicht an Grafik und erst recht nicht an Sound. Der Computer war als Arbeitsgerät konzipiert und da schien dies überflüssig. So war es ein langer Weg vom IBM PC zum Spielerechner. Zeit diese Story einmal zu erzählen.
Als der IBM PC konzipiert wurde, orientierte man sich bei IBM wohl an den schon verbreiteten CP/M Rechnern wie von Cromenco, Altos, Northstar. Aber wohl auch an den Terminals, die man vorher für den Anschluss an Großrechner baute. Zwei vorherige Einstiegssysteme von IBM, das System 23 und der 2200 Datamaster waren leicht anders aufgebaut. Sie hatten die Laufwerke und den Monitor in einem Gehäuse und daran fest angebracht die Tastatur. Demgegenüber war es schon damals Standard, das Tastatur und Bildschirm getrennt wurden, auch weil dies für den Hersteller es dahin gehend vereinfachte, dass er diese Geräte nicht selbst produzieren musste, sondern nur genormte Schnittstellen einsetzen musste.
Typische CP/M Rechner hatten eine reine Textdarstellung, üblicherweise mit 80 x 25 Zeichen. Das kostete auch wenig Arbeitsspeicher, denn so benötigte man maximal 2000 Bytes Bildschirmspeicher für die 80 x 25 Zeichen. Das Bitmuster konnte man einem ROM entnehmen. So verblieb bei 64 KByte Arbeitsspeicher möglichst viel Platz für die Anwendungsprogramme.
Über Spund verfügten diese Rechner auch nicht. CP/M kannte lediglich einen Bieps, den es bei Fehlaktionen gab.
Entsprechend war das Gerät, der IBM PC ausgerüstet. Etwas seltsam, auch für diese Zeit war, das man sich nicht entschlossen hatte die Text/Grafikfähigkeiten auf dem Mainboard unterzubringen. Es war zwar damals normal, dass man nicht alle Teile des Computers auf dem Mainboard integrieren konnte – das sollte auch noch bis in die Neunziger so bei IBM Kompatiblen bleiben, aber die Textdarstellung ist so elementar, das dies eigentlich bei allen Geräten dieser Zeit auf dem Mainboard untergebracht war.
Stattdessen offerierte IBM zwei Karten dafür:
Den Monochrome Display Adapter (MDA): Er konnte nur Text darstellen. Zwar in für die damalige Zeit beindruckender Schärfe mit 9 x 14 Pixeln pro Zeichen (entspricht bei 80 x 25 Zeichen 720 x 348 Pixel). Dazu gab es noch Attribute wie fett, unterstrichen, blinkend, invers die auch kombiniert werden konnten und so zumindest der Druckdarstellung nahe kamen. Aber wie bei den Textmodi der schon etablierten Rechner lag die Pixelmatrix jedes Zeichens in einem ROM und so war keine Grafik möglich. Benutzte man die 128 Zeichen jenseits des standardisierten Bereichs von Code 128 bis 255, so konnte man Blockgrafik mit 160 x 50 Pixeln erstellen oder Ränder ziehen. Einen Vorteil hatte die Karte aber: Sie hatte auch den Druckerport integriert, der ebenfalls auf dem Mainboard fehlte.
Den Color Graphics Adapter (CGA): Dies war eine Karte mit drei reinen Grafikmodi:
- 320 x 200 Pixel in vier Farben, davon eine Schwarz
- 640 x 200 Pixel in zwei Farben, davon eine Schwarz
Die Auflösung war nicht besser als bei vielen Heimcomputern dieser Zeit. Zur selben Zeit bot z.B. der ebenfalls auf dem 8088 aufgebaute Sirius 1 800 x 400 Pixel in monochrom. Besonders verhängnisvoll war, das die CGA elementare Nachteile hatte:
- Es fehlte bei ihr der Druckerport, der auf der MDA-Karte drauf war, ihn musste man also noch separat beschaffen, was weitere Kosten bedeutete und einen der Steckplätze belegte – bei nur fünf Steckplätzen, davon in der Regel schon drei mit Speichererweiterung (das Basisgerät war auf maximal 32 KByte aufrüstbar), Diskkontroller und CGA Karte belegt, ein Manko.
- Im Textmodus war die Pixelmatrix mit 8 x 8 Pixeln viel gröber als beim MDA-Adapter.
- Man konnte die CGA-Karte nicht an den Monochrommonitor anschließen, man benötigte einen zweiten Farbmonitor, der mit den Composite-Signalen umgehen konnte. Das heißt man hatte zwei Monitore auf dem Tisch und Farbe kostete mindestens 800 Dollar Aufpreis – das war der Preis, den man damals für einen Atari 800 also einen vollwertigen Computer zahlte. Selbst der Apple II in der Basisversion war mit 1.095 Dollar nur unwesentlich teurer.
Als 1983 die Hercules Karte (von einem Drittanbeiter) erschien, die die MDA-Auflösung mit einem Grafikmodus (720 x 348 Pixel, aber nur monochrom) kombinierte, war sie daher vom Start an ein Verkaufsschlager und viele kompatible Rechner setzten die Hercules Karte als Standard ein. Für Businiessanwendungen musste es nicht unbedingt farbig sein, denn was es an Grafiken gab waren Kurven oder Diagramme, die in der Regel auch ausgedruckt wurden und Drucker waren dort meist auch nur monochrom. Damit endete das erste Kapitel der Grafikstandards beim IBM PC
1984 erschien das Nachfolgemodell IBM AT – AT steht für Advanced Technology. Nun mit dem 286-er Prozessor. IBM hatte hinzugelernt und die neu eingeführte EGA-Karte, die man auch in einem „normalen“ PC verbauen konnte, hatte nun eine höhere Auflösung von 640 x 350 Pixeln. Damit hatte sie fast die gleiche Auflösung wie die MDA Karte und zeigte Text fast genauso scharf an. (allerdings in einer 8 x 14 anstatt 9 x 14 Matrix). Diesmal waren auch im höchsten Farbmodus 16 Farben möglich, die Modi der CGA Karte gab es zusätzlich, auch hier immer mit 16 Farben. Die EGA Karte ersetzte so MDA und CGA Karte, Trotzdem hatte man auch hier das Konzept nicht richtig durchdacht. So hatte die Karte zuerst nur 64 KByte Speicher, für den höchsten Modus brauchte sie aber 112 KByte. So musste man entweder mit 640 x 350 Pixeln in zwei Farben leben (hatte also nur eine Hercules-Graphikkarte) oder man setzte eine Piggyback Platine mit weiteren 64 KByte Speicher auf.
Ein weiterer Nachteil aller Grafikmodi bisher war das sie nicht dem Seitenverhältnis des Monitors entsprachen – Kreise sahen also aus wie Ellipsen. Andere Grafiken wie Diagramme waren gestreckt oder gestaucht. Bei dem Seitenverhältnis von 4:3 hätte man 480 Pixel in der Höhe benötigt.
Fremdhersteller, die es nun schon gab, wie Genoa umschifften diese Hürden und brachten gleich Karten mit 128 KByte Speicher heraus (lies auch einen besseren 640 x 400 Pixel Grafikmodus zu) oder führten bei mehr Speicher, wie Karten von ATI oder Paradise, neue Modi wie 720 x 540 oder 640 x 480 ein die das 4:3 Verhältnis hatten.
1987 machte IBM einen großen Schritt – allerdings in die falsche Richtung. Inzwischen hatte sich der Markt von IBM gelöst. Firmen warteten nicht darauf, dass IBM eine neue technische Lösung auf den Markt brachte und kopierten diese, sie schufen selbst Hardware die IBM kompatibel war. Das begann 1986 als Compaq nicht warten wollte bis IBM einen Rechner auf Basis des 386 Prozessors schuf. Bei Grafikkarten gab es schon damals eine breite Landschaft an Karten mit Modi, die über die von IBM herausgingen und es gab auch Multisyncmonitor die sich auf die unterschiedlichen Frequenzen einstellten (jede Änderung der Auflösung hat eine Änderung der Zeilenfrequenz und Bandbreite als Folge).
1987 führte IBM die PS/2 Serie ein. Damit auch die VGA Grafikkarte (Video Graphics Adapter). Sie zog nun eigentlich nur noch mit den schon etablierten Standards bei Drittanbietern gleich, das heißt, sie führte einen zusätzlichen Gtafikmodus im korrekten 4:3 Verhältnis mit 640 x 480 Punkten in 16 Farben. Von Bedeutung bis heute sind die Textmodi, die maximal 80 x 25 Zeichen mit 9 x 16 Pixeln (Ingesamt 720 x 400 Pixel) darstellten in 16 frei wählbaren Farben. Sie sind bis heute Grundlage für Konsolenanwendungen unter Windows und Linux. Neu war auch ein 320 x 200 Pixel Modus mit 256 Farben, der sich wegen der niedrigen Auflösung aber nur für Spiele eignete.
IBM wollte mit der PS/2 Serie auch neue Bussysteme einführen und das klappte nicht. Als Folge verlor die Firma noch mehr an Marktanteilen und so blieb VGA der letzte Grafikstandard der sich allgemein durchsetzte und bis heute in Teilen, z.B. bei Videograbbern eingesetzt wird.
Die folgenden Jahre blieben nicht ohne neue Grafikstandards, diese kamen nun aber durch Dritthersteller, die einfach die Auflösung stückweise höher setzten: 800 x 600 und 1024 x 768 erschienen – wie gehabt in 16 Farben. Später wurden die Modi dafür auch durch die VESA standardisiert. Es begann die Ära der VESA-Kompatiblen Super-VGA Karten. Das grundlegende Manko war, das diese Fähigkeiten nicht standardisiert waren, das bedeutete, das ein Hersteller zu einer Karte eine Diskette mit Treibern für wichtige Anwendungsprogramme wie Autocad, Programmierumgebungen wie Turbo Pascal oder grafischen Betriebssystemen wie Windows auslieferte. Spiele verließen sich meist nicht darauf und nutzten nur den kleinsten gemeinsamen Standard, das war VGA.
Windows war lange Zeit kein Thema für PCs und damit auch Grafik. Die erste Version von Windows 1.0 erscheint 1985, verspätet und so Ressourcen verbrauchend, dass sie sich kaum verkaufte. Windows 2.0 wurde nur noch aufgelegt, weil man schon die Programme Excel und Winword vertrieb und die weitere Funktionen benötigten. Dann sollte Windows eingestellt werden, das war 1987 und Microsoft konzentrierte sich auf die Arbeit zusammen mit IBM an OS/2.
Der Umschwung kam durch Tools, die es ermöglichten im Proctected Mode Windows zu debuggen, was vorher nicht möglich war. Windows war bisher ein Aufsatz für DOS, das ausschließlich im Real Mode, also der Betriebsart des 8086 arbeitete. Damit stahl es wertvollen Speicher im DOS-Bereich (die ersten 640 KByte) und ein abstürzendes Programm lies auch Windows abstürzen oder ein unkooperativen Programm blockierte das ganze System. Der Protected Mode des 286 ers war zwar nicht der neueste Modus – der 386 hatte einen weiteren eingeführt, der 4 GB adressierte und volle 32 Bit Instruktionen bot, aber er erlaubte es immerhin einzelne Programme im Real Mode zu isolieren und 16 MB Speicher zu adressieren. Grundvoraussetzung für ein stabiles Betriebssystem. Leider war es eine Einbahnstraße – man konnte vom Real in den Protected Mode wechseln, aber nicht umgekehrt und alle Programmentwicklungssysteme von Microsoft arbeiteten eben im Real Mode, womit man Windows bisher nicht in den Protected Mode portieren konnte. Mit diesen neuen Werkzeugen ging Microsoft die Version 3.0 an, die zwar immer noch deutlich instabiler als das heutige Windows war, aber immerhin deutlich besser als die vorherigen Versionen. Für die zahlreichen DOS Programme, die immer noch liefen, konnte Windows auch jeweils eine Umgebung mit viel Speicher bereitstellen und Windows 3.0 nutzte erstmals den Speicher über 1 MByte der nun eigentlich bei jedem neuen Rechner verbaut war aber vorher nur über Treiber oder als RAM Disk nutzbar war.
Mit Windows änderte sich für Grafikkarten dahin gehend die Situation, als das man nun nicht mehr Dutzende von Tribern, sondern nur noch einen für Windows bereitstellen musste. Mit der grafischen Oberfläche kam nun auch der Wunsch nach mehr Farben auf um sie aufzuhübschen und so gab es bald Grafikkarten mit 256, 65536 und 16 Millionen Farben entsprechend ein, zwei oder drei Bytes pro Pixel.
Eine neue Ära läuteten die ersten Grafikkarten ein, die Windows Funktionen beschleunigten. Die Windows API besteht aus einfachen Routinen für das Zeichnen von Linien, Flächen, Ausgeben von Text als Bitmap. Anstatt das dies ein Treiber macht, begannen Grafikkartenhersteller diese Funktionen als Hardware zu verankern, was die Darstellung deutlich beschleunigte. Das war Anfang der Neunziger. Es erschienen erste Grafikbenchmarks und die ersten Skandale als Hersteller erkannten das in einem besonders häufig verwendenden Benchmark von Zeitschriften des Verlags Ziff Davies immer dieselben Operationen durchgeführt wurden und dann schummelten.
Die Ära der heutigen Grafikkarten begann 1995 mit Windows 95 und der Einführung von DirectX. Bisher spielte Windows für Spiele keine Rolle. Die liefen immer noch unter DOS, weil der Zugriff auf die direkten Pixel über Windows viel zu lange dauerte und es keinen Fulls-Screen Modus gab. Microsoft wollte dies ändern und führte mit DirectX eine Schnittstelle ein, die näher an der Hardware war, aber auch Funktionen für wichtige Dinge bot die Spiele benötigen wie das Zeichen von Texturen. Nun begann die Ära der Windows Graphics Beschleuniger (WGA), ein prominenter Vertreter, der erste Stunde war, der Voodoo Chipsatz. Er bot erstmals in der Hardware die Berechnung von 3D Welten. Damit setzte sich nicht nur DirextX als Spielplattform durch, sondern auch die Architektur der 3D-Beschleuniger. Auch wenn die Hardware heute komplexer ist – im wesentlichen ist das bis heute die Hauptaufgabe von Grafikkarten. Anstatt das es auf hohe Auflösung ankommt, stehen die Frameraten bei Spielen im Vordergrund.
Etwa seit Anfang der Zweitausender Jahre zogen die Grafikfunktionen in den Chipsatz, für den normalen Büroeinsatz, selbst die hardwareseitige Dekodierung von komprimierten Videos benötigt man heute keine Grafikkarte, entsprechend werden auch noch 75 % der PC nur mit der Onboardlösung verkauft. In den letzten Jahren bröckelt das wieder. Die Ryzen Familie von AMD hat in der Regel keine Grafikkarte an Bord, die Spitzenmodelle von Intel auch nicht (die Serverfamilie Xeon hatte noch nie Grafik im Chipsatz).
Kürzer kann man es beim Sound machen: die Fähigkeiten beim Sound des Ur-PC waren noch schlechter als die Grafikfähigkeiten. Es gab nur einen kleinen eingebauten Lautsprecher und der konnte nur reine Töne spielen – Selbst billige Heimcomputer konnten dies drei Frequenzen simultan abspielen, und ohne Eingriff von Außen auch die Tonhöhe und Lautstärke über Hüllkurven verändern. So verwundert es nicht das es zusammen mit der Investition in eine CGA-Karte samt Farbmonitor hohe Hürden für ein Spiel gab und es anfangs wenige gab.
Das blieb lange auch so. Ende der Achtziger Jahre kam die Adlib Carte auf den Markt. Sie war eine reine Synthesizer Karte mit einem Tongenerator der, dem einem Heimcomputers entsprach. Damit konnte man Musik ausgeben, was Spiele als Hintergrundmusik nutzen. Die vom Benutzer aber erwarteten Geräusche wie Explosionen, Zapps oder Ähnliches konnte diese Karte nicht ausgeben.
Die erste richtige Lösung und der de Fakto Standard für 10 Jahre war der Soundblaster. Er konnte nun Geräusche ausgeben die als Wave-Dateien gespeichert waren. Das waren aufgenommene und damit echte, nicht synthetisierte Geräusche. Für die Musikuntermalung hatte er noch einen Synthesizer an Bord der Adlib kompatibel war. Mit dem Onboard Lautsprecher klang das nicht besonders gut, daher verfügten beide Karten über handelsübliche 3,5 mm Klinkenbuchsen in dem man handelsübliche Audiohardware wie Stereoanlagen oder Kopfhörer anschließen konnte, am beliebtesten waren jedoch Soundsysteme aus zwei bis fünf Lautsprechern, die man neben und unter dem Monitor platzierte.
Diese Zusatzkarten verloren Anfang der Zweitausender Jahre an Bedeutung, weil zum einen die DOS Spieleplattform uninteressanter wurde, Windows aber eine API analog DirectX für Sound (DirectSound, später Multimedia Api) implementierte über die Windows die Erzeugung von Spielklängen übernahm. Gleichzeitig zogen elementare Soundfähigkeiten in den Chipsatz ein. Heute gibt es neben den obligaten Anschlüssen für Kopfhörer und Mikro etliche mehr für Surround Sound. Dezidierte Soundkarten werden nur noch selten für Spiele eingesetzt, vielmehr wenn Musik digitalisiert wird, z.B. ein externes Keyboard angeschlossen ist. Als Hardwarelösung sind dabei die Latenzen besonders gering. Das ist wichtig, wenn eine neue aufgenommene Spur zeitlich exakt zu den Spuren passen soll, die gerade abgespielt werden.
So siehts aus – jetzt kommst Du!
Ibm wollte beim PC Jr nachbessern. Das Ding selber war zwar ein Flop aber der Tand y 1000 der dazu kompatibel war war in den USA recht erfolgreich. 640×200 16 Farben und der Soundchip der auch im TI99/4a steckte.
Der PC war zum arbeiten gedacht, da ist Sound keine Anforderung.
Dur vergisst die Kosten für den Speicher. 1981 kosteten 64KBit Chips >10$ und es wurden weniger als 10Mio weltweit produziert.
Deswegen wurde der PC wie die anderen Rechner zur der Zeit mit 16KBit Chips bestückt.
Erst mit dem Preisverfall und Massenproduktion ab 1982 (64KByte RAM.
Klar, Speicher war damals teuer, in den Anzeigen der Byte 10/1981 wo der PC erstmals besprochen wurde, kostete ein einzelnes 4116-LP15 17,95 Dollar. Allerdings war die Monochromkarte mit 345 Dollar teurer als die CGA Karte mit 300 Dollar, obwohl diese viermal mehr Speicher hatte. Im Prinzip ist bei einem Endpreis von des Komplett-PC von 3000 Dollar dann nebensächlich ob 4 Kbyte, 16 oder 32 KByte Bildschirmspeicher verbaut wurden. Wir reden dann von 100 bis 200 Dollar Anteil am Gesamtpreis.
Vor allem hat IBM in den Jahren darauf (als der AT 1984 erschien war Speicher wirklich billig) es nicht geschafft hinsichtlich Grafik einen großen Schritt nach vorne zu machen.