Texas Instruments TI-99/4A

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
TI-99/4A

Der TI-99/4A ist ein Heimcomputer von Texas Instruments, der Anfang 1981 auf den Markt kam und sich über 2 Millionen mal verkaufte. Bei ihm handelt es sich um eine modifizierte Version seines Vorgängers TI-99/4, der im Juni 1979 erstmals der Öffentlichkeit vorgestellt worden war.

Inhaltsverzeichnis

Technik [Bearbeiten]

CPU TI TMS9900.
Co-Prozessor TMS9918A

Der TI-99/4A basiert auf dem TI-eigenen Hauptprozessor TMS-9900 mit einer Takt-Geschwindigkeit von 3,3 MHz. Dies war nicht nur eine der ersten 16-Bit-CPUs überhaupt, sondern lange Zeit auch die einzige im Consumer-Markt verfügbare. Als Koprozessor (auch dies war damals ungewöhnlich) verfügt der TI-99/4A über den TMS-9918 (bzw. für den europäischen Markt die PAL-Variante 9929), der die Bilddarstellung übernimmt und auch Sprites unterstützt. Als Ausgabegerät lässt sich ein handelsüblicher Fernseher und zum Speichern oder Laden von Programmen ein gewöhnlicher Kassettenrekorder anschließen. Rechts neben der Tastatur ist ein Modulschacht in das Gehäuse eingelassen. Ferner befindet sich an der rechten Gehäuseseite eine Schnittstelle zum Anschluss externer Hardware. Geeignete Geräte besitzen an ihrer linken Seite einen Stecker, der in diese Schnittstelle passt, während auf der rechten Gehäuseseite die Schnittstelle wieder herausgeführt wird. So lassen sich mehrere Geräte zur rechten Seite des TI-99/4A aufreihen, u.a. ein Thermo-Nadeldrucker und ein Sprachsynthesizer.

Die Systemarchitektur des TI-99/4A war komplizierter als bei anderen Home-Computern seiner Zeit, was zumindest in der Grundausbaustufe des Systems nachteilig war. Zum einen war RAM Anfang der 1980er Jahre verhältnismäßig teuer, zum anderen benötigte der Co-Prozessor TMS-9918 unbedingt Zugriff auf einen eigenen Speicherbereich von 4, 8 oder 16 kB Größe. So stattete man den TI-99/4A mit nur 16 kB RAM aus, welches komplett dem Videoprozessor TMS-9918 als Videospeicher zugeordnet wurde. Dagegen hatte der schnelle Hauptprozessor lediglich Zugriff auf ein RAM von 256 Bytes, dem sogenannten Scratch-Pad-RAM. Dieses reichte gerade einmal aus, um darin interne Betriebssystemparameter zu verwalten. BASIC-Programme und sonstige Daten (wie Symbol- und Sprungtabellen) dagegen wurden in einem ungenutzten Bereich des Videospeichers abgelegt, auf den der Hauptprozessor nur indirekt zugreifen konnte, indem er den Inhalt jeder Speicherzelle vom TMS-9918 einzeln anforderte und zurückgeben ließ. Die Grundausbaustufe des TI-99/4A bot keine Möglichkeit, schnelle Maschinensprache-Programme in einem Speicherbereich des RAMs abzulegen, den der Hauptprozessor hätte direkt adressieren können. So lag das Angebot an schnellen Spielen und leistungsfähigen Programmen oder Programmiersprachen für diesen Computer nahezu ausschließlich auf teuren Steckmodulen vor.

Betriebssystem [Bearbeiten]

Das Betriebssystem des TI-99/4A war zusammen mit einem Interpreter für eine TI-eigene Anweisungssprache namens Graphical Programming Language (GPL), die etwas komfortabler als Assembler war, in einem 8 kB großen ROM-Baustein eingebrannt. Darüber hinaus ließ sich der TI-99/4A durch Steckmodule erweitern, die in einen Modulschacht eingesetzt werden konnten. Diese konnten RAM enthalten, verfügten meist aber über ROM und obligatorisch über GROM. Bei GROM handelte es sich um ausschließlich von Texas Instruments gefertigte 6 kB statt der üblichen 8 kB große ROM-Bausteine, die zur Aufnahme von GPL-Code dienten. Dieser Code konnte nicht direkt durch den TMS-9900 ausgeführt werden, sondern nur mittels des GPL-Interpreters, weil die GROMs nur indirekt adressierbar waren. Ihr Anschluss erfolgte nur über den Datenbus und über Steuersignale. Sie verfügten im Gegensatz zu sonst üblichen Speicherbausteinen jedoch über keinen von außerhalb des Chips erreichbaren Adressbus. Der TI-99/4A wiederum akzeptierte nur Module, die mit einem derartigen GROM-Baustein bestückt waren. Sinn der Maßnahme war es, Drittanbietern die Herstellung von nicht lizenzierten Modulen zu verwehren.

TI Extended BASIC Modul

BASIC-Interpreter [Bearbeiten]

Der 24 kB große BASIC-Interpreter des TI-99/4A war nicht – wie bei anderen Home-Computern seiner Zeit üblich – in Maschinensprache geschrieben, sondern in GPL. Dies bedeutete, dass BASIC-Programme durch den BASIC-Interpreter ausgeführt wurden, welcher seinerseits (nicht direkt durch den Hauptprozessor sondern) durch den GPL-Interpreter ausgeführt wurde. Zusammen mit dem bereits erwähnten Nachteil, dass vom TMS-9900 auf den Speicher für BASIC-Programme nur indirekt zugegriffen werden konnte, lässt sich hiermit erklären, warum in TI BASIC geschriebene Programme relativ langsam waren, obwohl im TI-99/4A ein fortschrittlicher, 16-bittiger Hauptprozessor seine Arbeit verrichtete. Der Hersteller Texas Instruments versuchte, diesbezüglich ein wenig nachzubessern, indem er Extended BASIC als Modul anbot. Dieses erweiterte zum einen den Umfang der BASIC-Programmiersprache, so dass jetzt auch Sprites und verbesserte Grafikfähigkeiten unterstützt wurden, zum anderen waren einige Teile des Modul-Codes nicht in GPL, sondern in Maschinensprache geschrieben, wodurch sich die Ausführung von BASIC-Programmen etwas beschleunigte.

Datenspeicherung in der Grundausstattung [Bearbeiten]

10 Sekunden Audio-Beispiel eines kleinen Demo-Programms in TI-BASIC

In der Grundausstattung arbeitete der TI-99/4A mit handelsüblichen Kassettenrekordern als externem Datenspeicher. Das Aufzeichnungsformat war langsam, dafür aber recht robust gegenüber Störungen. Der typische "TI-Sound" war jedem Benutzer wohlvertraut. Er begann mit dem Vorton, bestehend aus 768 Bytes 0x00, gefolgt von einem Byte 0xFF. Danach folgte zweimal das Byte mit der Längenangabe. Das Byte benennt die Anzahl an nachfolgenden 64-Byte Blöcken. Mindestens 0x01 für 1 Block, also 64 Bytes. Maximal 0xFF für 255 Blöcke, also 16320 Bytes. 0x00 als Längenangabe ist nicht zulässig. Der nun folgende pulsierende Sound entstand daraus, dass die zu speichernden Daten in Blöcke zu je exakt 64 Bytes aufgeteilt wurden. Jedem Block wurden zur Synchronisation 8 Bytes 0x00 gefolgt von 1 Byte 0xFF vorangestellt. Zur Datensicherheit erhielt jeder Block am Ende noch ein Checksummenbyte. Diese somit insgesamt 74 Byte lange Struktur wurde außerdem immer doppelt geschrieben. Zum Wiedereinlesen wurde vom Timer im I/O-Chip TMS9901 die Länge der Halbwellen des Tonsignals vermessen. Eine lange Halbwelle bedeutete eine Null. Zwei kurze Halbwellen standen für eine Eins.

TI-PROGRAM-RECORDER. Die weißen Markierungen auf den beiden seitlichen Reglern für Lautstärke und Klang waren bereits ab Werk aufgebracht. Wurden sie wie auf dem Bild gezeigt auf Mittenposition gestellt, war der Rekorder für die Datenverarbeitung optimal eingestellt.

Obwohl Texas Instruments Wert auf die Verwendbarkeit handelsüblicher Kassettenrekorder legte, brachten sie einen "TI PROGRAM RECORDER" auf den Markt. Im Gegensatz zu einer reinen Datasette handelte es sich dabei um ein Gerät, das zwar für den Gebrauch als Datenspeicher optimiert war, jedoch zusätzlich auch als Haushalts-Kassettenrekorder zur Aufzeichnung und Wiedergabe von Musik und Sprache dienen konnte. Er verfügte daher auch über einen eingebauten Lautsprecher und ein Mikrophon.

Erweiterungsmöglichkeiten [Bearbeiten]

TI Expansion System

Die Ausführung schneller, nicht als Modul vorliegender Maschinenprogramme war nur möglich, indem man die Hardware des TI-99/4A erweiterte. Die günstigste Lösung war, dies über ein Modul ("4-kB-Mini-Memory") zu tun, welches neben ROM/GROM direkt durch den TMS-9900 adressierbares RAM enthielt. Der wesentlich teurere Weg war der Kauf einer "Expansion-Box", die über Netzteil, Diskettenschacht für 5¼-Zoll-Diskettenlaufwerke (Originallaufwerk: volle Bauhöhe, SS-SD = einseitig, einfache Dichte = 90 kB Kapazität) und acht Kartensteckplätze verfügte. Originalkarten von TI und einige Karten von Drittanbietern waren in einer Hülle gekapselt. Die Karten funktionierten ähnlich wie heutige Plug-and-Play-Karten: Eine Treiberinstallation war nicht nötig. Als Karten waren erhältlich:

Aber selbst nach einer Hardware-Erweiterung ließ sich nicht uneingeschränkt die volle Geschwindigkeit der 16-Bit-CPU nutzen, denn der größte Teil des Computer-Speichers und des Speichers peripherer Geräte war zwar über einen 16-Bit-Adressbus, aber lediglich über einen 8-Bit-Datenbus mit der CPU verbunden, so dass unter Verwendung eines Multiplexer-Schaltkreises zunächst auf das höherwertige Byte zugegriffen und die CPU in einen Wartezustand gestellt wurde, bis auch das niederwertige Byte übermittelt worden war.

P-Code-Interpreter [Bearbeiten]

Der P-Code-Interpreter war auf einer Steckkarte implementiert und benötigte im Gegensatz zu anderen Programmiersprachen kein Modul. Der Interpreter führte UCSD-Pascal-Programme aus. Des Weiteren gehörte zum Pascal-Paket ein Editor, der 40 Zeichen pro Zeile monochrom darstellen konnte, und ein modernes Dateisystem mit langen Dateinamen. Außerhalb des Pascal-Systems erschien das Dateisystem als einzelne die gesamte Diskette füllende Datei unter dem normalen Dateisystem des TI-99. Das Dateisystem erlaubte die Verwendung von Punkten zur Gliederung der Dateinamen und Zeitstempel. Dateien mussten in einem einzigen fortlaufenden Speicherbereich abgelegt werden, was von Zeit zu Zeit manuelle Defragmentierungen erforderte.

Erweiterungen ohne Expansion-Box [Bearbeiten]

Erweiterungen. Die kleine Box links ist ein Sprachsynthesizer.

Neben Karten für die Expansion-Box waren auch externe Erweiterungen sowohl von TI, als auch von Drittanbietern erhältlich, die z. B. eine RS-232-Schnittstelle bereitstellten. TI selbst bot einen englischen Sprachsynthesizer an.

Software auf Modulen [Bearbeiten]

Für den TI99 waren zahlreiche Spiel-, Lern- und Anwendungssoftware auf Modulen von TI und Drittanbietern erhältlich. Daneben gab es auch verschiedene Programmiersprachen: Neben dem oben erwähnten Extended Basic und dem Mini-Memory (einfacher Assembler, Batterie-gepuffertes RAM) gab es TI-Logo und den Editor/Assembler, der neben dem Modul die 32K-Erweiterung und das Diskettenlaufwerk benötigte.

Konkurrenz [Bearbeiten]

Der 1982 auf den Markt gekommene und ab 1983 auch in Deutschland verkaufte C64 des Herstellers Commodore entwickelte sich schnell zu einer ernsthaften Konkurrenz für den TI-99/4A. Mit 64 kB RAM, guten Grafikfähigkeiten und professionellem Soundchip setzte der C64 auf dem Markt der Home-Computer neue Maßstäbe. Obwohl dessen 8-Bit-Prozessor mit 0,985248 MHz verhältnismäßig niedrig getaktet war, wurden BASIC-Programme auf ihm deutlich schneller als auf dem TI-99/4A ausgeführt. Der Speicher war auch nicht geteilt wie im TI-99/4A, sondern konnte von Prozessor und Videochip gemeinsam genutzt werden. Zudem verfügte sein BASIC-Interpreter über Befehle wie PEEK, POKE und SYS, um Byte-Werte direkt in Speicherzellen hineinschreiben und dann als schnelle Maschinenspracheprogramme ausführen zu können. Vieles, was beim TI-99/4A Anlass zu Kritik gab oder eine kostspielige Erweiterung erforderte, war beim C64 besser gelöst oder gleich in der Grundausstattung verfügbar.

Ab Sommer 1983 ließ sich der TI-99/4A nur noch zu einem Preis verkaufen, der unter seinen Herstellungskosten lag. Im November 1983 gab Texas Instruments schließlich bekannt, sich aus der Produktion von Heimcomputern zurückziehen zu wollen. Die Entwicklung und Einführung des Nachfolgemodells TI-99/8 wurde daraufhin umgehend eingestellt, der TI-99/4A jedoch (zwecks Erfüllung bestehender Verträge) noch bis Ende März 1984 weiterproduziert und vertrieben.

Siehe auch [Bearbeiten]

Weblinks [Bearbeiten]