Kompatibilität

Loading

Ich habe mich im Blog etwas rar gemacht, das hat aber seinen Grund, ich habe drei neue Artikel über Computer fertiggestellt, einen Doppelartikel über die drei ersten „echten“ PC, den Apple II, Commodore PET, Tandy TRS-80 und einen über VisiCalc. Inspiriert wurde ich wie jedes Jahr durch die ct’ Retroausgabe, auch wenn die immer schlechter wird, weil man merkt, das nun Leute Redakteure sind, die die Zeit nicht miterlebt haben und zusammenschreiben was sie im Netz so finden. Aber sie erinnert mich an die Zeit und inspiriert. Ich habe als ich für den NeXT Computer recherchiert habe, auch festgestellt, das die Wikipedia durchaus nicht immer eine gute Informationsquelle ist. Über sehr populäre Computer wie den Apple II oder C64 steht viel drin, aber über seltenere eher wenig. Da ich nicht schreiben will, was man woanders findet, habe ich in den letzten Jahren relativ wenig über Computer gemacht. Ich denke, ich ändere das nun und zwar mit dem Fokus auf Verlierer, die sonst gerne ignoriert wird. Und einer der Verlierer und nächsten Kandidaten für einen Artikel ist der Apple III.

Ein Grund für die Misere des Apple III ist eben die Kompatibilität. Diesen Begriff hörte ich auch zuerst im Zusammenhang mit Computern, nämlich den berühmt-berüchtigten „IBM-Kompatiblen“. Kompatibilität ist Fluch und Segen zugleich. Heute da ja fast alles „kompatibel“ ist, sogar über Hardwaregrenzen hinweg – man kann z.B. an einen Raspberry Pi USB-Zubehör für den PC anschließen, ohne Treiber installieren zu müssen, ist der Begriff weitestgehend bedeutungslos. Man muss sich in der Regel bei einer neuen Anschaffung nicht drum kümmern, ob die mit der alten Hardware noch läuft oder alte Software noch auf dem neuen Rechner läuft, außer es gibt die seltenen Brüche, die Microsoft bisher sehr spät durchführte – das Subsystem für Windows 3.x und DOS Programme flog z. B. erst 2005 mit Windows Vista raus, als solche Programme praktisch keine Marktbedeutung mehr hatten. „Bisher“ weil sie bei Windows 11 nicht so vorgegangen sind. Das läuft nur auf maximal drei Jahre alten Rechnern. Mein für seine Zeit recht gut ausgestatteter PC ist z.B. nicht dabei.

Früher war das anders. Da bestand die Änderung in einem neuen PC nicht nur in einem schnelleren Prozessor oder mehr Kernen. Vor allem gab es bei vielen Computern von der Hardware diktierte feste Grenzen. Da ist die 64 KByte Grenze von 8-Bittern, aber auch die 640 KByte Grenze für IBM-Kompatible PC.

Ich will mal einige Rechner vorstellen, wo man dies schlecht gelöst hat. Fangen wir mit dem Apple III an. Er war DAS strategische Nachfolgeprodukt für Apple nach dem Apple II. Anders als beim Apple II den Wozniak fast alleine konstruierte saßen am Apple III eine ganze Mannschaft und es gab ein großes Werbebudget. Der Apple III scheiterte aus zwei Gründen. Das eine waren Hardwareprobleme am Anfang, das zweite war die mangelnde Kompatibilität. Die Hardwareprobleme äußerten sich darin, dass viele Rechner nach kurzer Zeit abstürzten und teilweise danach gar nicht mehr booteten. Der Grund dafür war, das von Steve Jobs designte Gehäuse. Es war für die vielen verbauten Chips zu klein. Damit hatten die Bestückungsautomaten anfangs Probleme und die Chips saßen so nicht richtig oder locker. Diese Probleme hatte man nach einem Jahre gelöst und schon eine zweite Version, den Apple III+ nach, wohl auch um potenzielle Käufer zu versichern „Ja der Apple III hatte Probleme, aber die haben wir gelöst und der Apple III+ hat sie nicht“.

Das Hauptproblem des Apple II und das ist das Kernproblem jedes „Kompatiblen“ ist der Vorgänger. Der Apple II war seiner Zeit voraus. Er bot farbige Grafik, als die Konkurrenz noch Schwarz-Weiß Textanzeige bot. Er war einfach durch Steckkarten erweiterbar – ohne diese hätte der Apple II sicher das Schicksal des Commodore PET und Tandy TRS-80 geteilt. Denn der Apple II hatte auch Nachteile. Aus unerfindlichen Gründen lies Wozniak die Kleinbuchstaben weg. Die Grafik war auf Eigenheiten des NTSC Systems ausgelegt und funktionierte nur an einem US-Fernseher, er bot keinen Ton. Mit Zusatzkarten konnte man das alles nachrüsten. So konnte man später durch eine Karte Diskettenlaufwerke anschließen. Die 80 Zeichenkarte bot nicht nur 80 anstatt 40 Zeichen pro Zeile, sondern auch Kleinbuchstaben und die 16 K Karte erweiterte den Speicher von 48 auf 64 KByte. 16 K mehr Speicher erscheinen wenig, doch man darf nicht vergessen, das das Anwendungsprogramm und Betriebssystem im Speicher lagen. Ich vergleiche hier mal mit CP/M. Da war bei einem textbasierten System nach Start von CP/M noch typisch 54 bis 56 KByte frei. Anwendungsprogramme wie Wordstar, Turbo Pascal oder DBase waren im Kern 30 bis 35 KByte groß, das lies dann noch 19 bis 24 KByte für die eigentlichen Daten – mit 16 KByte weniger wären es aber nur noch 3 bzw. 8 KByte.

Die Erweiterbarkeit bescherte dem Apple II ein langes Leben. Folgende Apple II integrierten die häufigsten Karten und er wurde so bis 1993 gebaut, länger als jeder andere Mikrocomputer den ich kenne.

Wie macht man nun einen Nachfolger? Eine Möglichkeit ist, das man sich gar nicht um die Kompatibilität schert. Dann muss der Nachfolger um einiges besser als der Vorgänger sein. Das war wohl so geplant beim Apple Macintosh – schnellere CPU, grafische Oberfläche. Die zweite Möglichkeit ist es den Rechner kompatibel zu machen. Die Crux: Er muss dann 100 Prozent kompatibel sein. Beim Apple III hatte man dies vor. Der Apple III hatte den gleichen Prozessor wie der Apple II, aber doppelt so schnell getaktet. Der Speicher war mit 128 KByte auch größer und er bot weitere hochauflösende Grafikmodi. Das Diskettenlaufwerk entsprach dem im Apple II.

Der Apple III war ein Rechner für Geschäftsleute. Er kostete bei Einführung 4.340 Dollar. Ein Apple II für den Geschäftseinsatz (Apple II+, 1 Disklaufwerk mit Controller, 16 K Language Card, 80 Zeichenkarte, Monitor) 2.417 Dollar. Der Apple III war also um 2.000 Dollar teurer. Stephen Wozniak beschrieb die Erwartungshaltung eines Apple III Käufers – er kauft einen Apple II mit Zukunftsoption – also seine Software vom Apple II läuft weiterhin und er kann dann neue Software einsetzen, welche die neuen Möglichkeiten ausnutzt. Nur genau das bekam er NICHT. Der Apple III war im Apple II Modus ein Apple II mit 48 KByte Arbeitsspeicher. Er war weder schneller, was für Business Software sehr erstrebenswert gewesen wäre, noch hatte er die beiden für den geschäftlichen Einsatz hinzugekauften Karten – nämlich die 80 Zeichen Karte und 16 KByte RAM Erweiterung integriert, obwohl er beide Features im Apple III Modus bot. So verwundert es nicht das er zum Flop wurde.

Eine Parallele finden wir im C128. Nachdem Commodore mit dem C264 / Plus4 grandios scheiterte – das Gerät war wie der C64 ein Rechner mit 64 KByte Arbeitsspeicher, dafür aber schneller, und mit einem BASIC das die Fähigkeiten auch voll unterstützte, aber inkompatibel zum C64 legte man den C128 auf. Der bot nun einen C64 Modus, in dem er voll kompatibel war. Im neuen C128 Modus war er schneller, bot mehr RAM und ein komfortables BASIC. Nur konnte er im C64 Modus auch nicht mehr als der C64, also keine bessere Grafik er war nicht schneller. Kurz: wie der Apple III benötigte er für den 128K Modus komplett neue Software. Die Crux war das der C64 als Spielkiste gekauft wurde. Dank des miserablen Basics kauften Leute, die wirklich Programmieren lernen wollten, andere Rechner. Das bessere Basic des C128 war damit kein großes Verkaufsargument. Nur für Spiele reichte aber das deutlich billigere Original. Immerhin war der C128 hier voll kompatibel, anders als der Apple III oder Plus/4. So erreichte er zwar nicht die Verkaufszahlen des C64, aber es wurden trotzdem etliche davon verkauft.

Der Begriff Kompatibilität hatte ich ja schon in Zusammenhang mit den IBM PC kompatiblen erwähnt. Gerade hier sieht man auch den Fluch. Es erschienen fast zeitgleich mit dem IBM PC Rechner die man damals „MS-DOS Kompatible“ nannte. Das waren Rechner mit dem 8086/88 Prozessor, aber einer anderen internen Architektur, die unter MS-DOS liefen, vergleichbar den vielen Rechnern die unter CP/M liefen und nur den Prozessor gemeinsam hatten. Nennenswerte Geräte sind der TI Rainbow, der Victor Sirius 1, der Tandy TRS-1000. Alle waren besser als der IBM PC. Der TI war ein Doppelprozessorsystem, konnte dank zusätzlichem Z80 auch CP/M Software nutzen. Tandy und Sirius 1 boten bessere Grafik und speicherten mehr auf die Floppies. Alle diese Rechner verschwanden recht schnell von dem Markt.

Warum? IBM hatte den 8088 mit 4,77 MHz gewählt. Primär um Kosten zu sparen. Verfügbar war auch der 8086 mit 8 MHz, der etwa doppelt so schnell war. Die Langsamkeit führte dazu, dass Programmierer Abkürzungen wählten. Normalerweise bemüht man für alle Dinge, die das Betriebssystem erledigen muss wie Ein/Ausgabe auf Bildschirm, Drucker, Disk das Betriebssystem, das dann das BIOS beauftragt und das spricht dann die Hardware direkt an. Das Betriebssystem ist die genormte Schnittstelle, alles andere ist dann herstellerspezifische implementiert. Wenn nun ein Programm direkt die BIOS Routinen aufrief, dann scheiterte das, wenn diese in einem anderen Rechner woanders lagen oder völlig anders aufgebaut waren. Ja beim Bildschirm ging, das so weit das man nicht mal das BIOS bemühte, sondern direkt in den Speicher schrieb. Das musste dann bei anderen Grafikstandards scheitern. Die wirklich populären Programme wie Lotos 1-2-3 arbeiteten aber genau so.

Die Folge waren das nun nur noch „IBM Kompatible“ erschienen, ja das ging soweit, das viele Firmen nicht mal wagten einen schnelleren Prozessor einzusetzen. Der Fluch war, das selbst IBM nicht mehr von dem Standard wegkam. Als der IBM PC-AT erschien war er nur ein schneller IBM-PC. Das für den IBM PC schon schlechte Bussystem wurde nur um einen weiteren Stecker erweitert, der Rechner kam mit 1 MByte RAM, doch DOS nutzte nur 640 KByte – das sollte bis zum Ende der DOS Zeit, als Rechner dann 4 oder 8 MB RAM hatten auch so bleiben. Lediglich die Grafik, die auf einer Steckkarte saß, konnte man erweitern. Mit dem 80386 setzte Compaq dann einfach noch einen Stecker zu den beiden vom AT auf dem Motherboard hinzu. Es bedürfte bis Mitte der Neunziger Jahre als Intel zusammen mit anderen Firmen endlich neue Standards für Bussysteme und Schnittstellen einführte und auch Microsoft brauchte rund 20 Jahre um von Windows 1 (16 Bit System) zu Windows XP (32 Bit System) zu kommen, obwohl der Prozessor schon 15 Jahre früher erschien.

IBM selbst hat zweimal nicht auf die Kompatibilität geachtet. Das eine war der IBM PC junior. Gedacht als Heimcomputer war er schlicht zu teuer, aber anders als der IBM PC kaum erweiterbar. Mit dem Personal System/2 führte IBM neue Schnittstellen ein, eine neues Bussystem, neue Schnittstellen für Tastatur und Maus und den VGA-Standard. Das Bussystem war aber geschützt, und anstatt das Firmen Lizenzen kauften, produzierten sie lieber die Karten für das alte Bussystem auch wenn es veraltet war. Beide Systeme stampfte IBM nach weniger als zwei Jahren wieder ein.

Es wären noch ein paar Beispiele zu nennen, aber ich will es dabei belassen. Heute ist das kein Problem mehr. Dank modularer Bauweise kann man ausbauen, was veraltet ist. Ich könnte meinen PC durch Austausch des Motherboards Windows 11 tauglich machen. Überhaupt gibt es dort die meisten Änderungen, denn während Schnittstellen wie SATA oder USB abwärtskompatibel sind gibt es alle paar Jahre einen neuen Prozessorsockel und das alte RAM passt auch nicht mehr.

Aber eigentlich hat man sich ja nicht an einen bestimmten Prozessor gewöhnt, sondern an Software und die ist heute beweglicher den je. Apple hat in ihrer Geschichte viermal den Prozessor beim Macintosh gewechselt: Es fing mit der MC68000 Serie an, dann kam ab Mitte der Neunziger die PowerPC Architektur, die dann 10 Jahre später von x86-ISA abgelöst wurde und seit letztem Jahr setzt Apple auf ARM. Da die Betriebssysteme in Hochsprachen programmiert werden, geht das problemlos und für alte Binaries muss man eben emulieren, auch wenn das dann ziemlich langsam wird. Aber die Firmen arbeiten ja auch mit Hochsprachen und können mit relativ wenig Aufwand dann ein Binary für den neuen Prozessortyp erstellen. Das wesentliche ist das die API die gleiche bleibt.

Emulation oder heute besser als „Virtualisierung“ tituliert ist auch das Mittel der Wahl, wenn die Software wirklich alt ist.

Ich habe mich übrigens entschlossen einen Rechner mal selbst zusammenzubauen, also richtig, nicht nur Motherboard und Komponenten zusammenzustecken, sondern wirklich die Schaltkreise einlöten. Da ich nicht handwerklich geschickt bin, war das auch das was mich lange Zeit vom Kauf abgehalten hat. Der Rechner ist ein Retro-Computer genauer gesagt ein Z180 PC mit CP/M. Dank der Z180 mit integrierten Schnittstellen sind das nur fünf IC, die Z180 CPU, ein RAM ein ROM und ein Register und ein Multiplexer für das Bankselekt. Es ist wenn man es genau nimmt auch kein kompletter PC, denn alle Schnittstellen, die man so erwartet fehlen, stattdessen wird er über USB an den „normalen“ PC angeschlossen, der dann als Terminal dient.

3 thoughts on “Kompatibilität

  1. Hallo Bernd:
    Zum C64 Modus des C128:
    Man konnte im 64er Modus mit einem Trick
    Die Taktfrequenz auf ca. 1, 5 MHz steigern.
    Leider weiß ich nicht mehr genau wie.

    Und der Bilfschirm hatte Aussetzer..

    1. Problem war das der VIC2 nur 1MHz konnte, bei abgeschaltetem Bildschirm waren 2MHz möglich oder etwa über 1MHz wenn man die CPU dynamisch taktete wenn der Strahl im Rücklauf war.

  2. Beim Apple Mac ist das nicht so weit her mit der Kompatibilität.

    Als der iMac meiner Eltern kaputt war, konnten wir die Daten auf dem neuen Mac Mini nicht mehr lesen. Man hätte sie auf dem alten Gerät in einem anderen Format exportieren müssen. Der PowerPC Emulator wurde schon nicht mehr mit ausgeliefert.

    Beim aktuellen Mac Mini meiner Eltern habe ich das letzte OS Upgrade sehr lange hinausgezögert, weil wir dabei die Brennsoftware für CDs verlieren. Nun werde ich es wohl über Weihnachten machen.

    MfG

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.