Zum Inhalt springen

Turbo-BASIC XL

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. März 2006 um 22:51 Uhr durch 84.186.93.127 (Diskussion) (Grafik-Befehle). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Turbo-BASIC XL ist ein für Atari XL/XE entwickelter BASIC-Dialekt, der abwärtskomptabel zu Atari-BASIC ist und sich vor allem durch eine deutlich schnellere Verarbeitungsgeschwindigkeit und Befehle zur strukturierten Programmierung auszeichnet. Entwickelt wurde die Sprache von Frank Ostrowski, der später für die Firma GfA-Systemtechnik den Interpreter GfA-BASIC entwickelte. Veröffentlicht wurde Turbo-BASIC XL erstmals 1985 als Listing des Monats in der Zeitschrift Happy Computer (Markt & Technik Verlag), später wurde auch ein Compiler veröffentlicht.

Vergleich zu Atari-BASIC

Abwärtskompatibilität zu Atari-BASIC

Turbo-BASIC XL implementiert sämtliche Befehle des Atari-BASIC und verwendet das gleiche Dateiformat. Deshalb können Atari-BASIC-Programme meist ohne Anpassung direkt unter Turbo-BASIC XL ausgeführt werden, laufen jedoch ca. viermal schneller. Das kann zur Folge haben, dass etwa ein in Atari-BASIC geschriebenes Spiel unter Turbo-BASIC XL nicht mehr spielbar ist.

Eine weitere Ursache für Inkompatibitäten ist die unterschiedliche Speicherbelegung. Turbo-Basic XL ist mit fast 16 KB etwa doppelt so groß wie Atari-BASIC. Trotzdem stehen einem unter Turbo-Basic XL ca. 34 KB Programmspeicher zur Verfügung. Das sind ca. 8KB mehr als unter Atari-BASIC mit DOS, da Turbo-BASIC z. T. in Speicherbereichen abgelegt ist, die von Atari-BASIC nicht verwendet werden. Gleichwohl nutzen Programmierer diese Speicherbereiche oft für Unterprogramme in Maschinensprache. Solche Programme sind nur unter begrenzt unter Turbo-BASIC XL zum Laufen zu bekommen.

Strukturierte Programmierung

Eine wesentliche Verbesserung gegenüber Atari-BASIC ist die Einführung von Befehlen zur Strukturierten Programmierung. So wurden REPEAT ... UNTIL, WHILE ... WEND und DO ... LOOP und IF ... ELSE ... ENDIF. Mit PROC name ... ENDPROC kann man Unterprogramme definieren, die mit EXEC name aufgerufen werden.

In Turbo-BASIC XL kann ein Programm vollständig ohne GOTO-Anweisungen geschrieben werden. Die wenigen Ausnahmefälle, in denen dennoch ein direkter Sprung im Programm benötigt wird, kann man mit GO #label abfangen.

Man kann deutlich in Turbo-BASIC XL den Vorläufer zu GfA-BASIC erkennen.

Grafik-Befehle

Schon Atari-BASIC verfügte über Befehle, um den Grafik-Modus zu setzen und Punkte und Linien zu zeichnen. Mit Turbo-BASIC XL kann man darüber hinaus auch Kreise und Ellipsen zeichen, geschlossene Flächen füllen und Texte auf dem Grafikbildschirm ausgeben. Mit BPUT und BGET können Speicherblöcke, beispielsweise Bilder, auf ein externes Speichermedium abgespeichert bzw. von dort geladen werden.

Leider verfügt auch Turbo-BASIC XL nicht über Befehle zur Programmierung von Player Missiles (Sprites), so dass man wie unter Atari-BASIC auf PEEK- und POKE-Anweisungen angewiesen ist. Immerhin gibt es mit MOVE einen Befehl, um komplette Speicherblöcke zu verschieben, der zumindest die Programmierung von Player Missiles etwas vereinfacht.

DOS-Befehle

Mit Befehlen wie DIR, DELETE, RENAME, LOCK oder UNLOCK kann man unter Turbo-BASIC XL direkt auf das Diskettenlaufwerk zugreifen, ohne wie unter Atari-BASIC kryptische XIO-Aufrufe (extended input/output, ein Spezialbefehl unter Atari-BASIC) verwenden zu müssen. Insbesondere dass man sich das Inhaltsverzeichnis der Diskette direkt ansehen kann, erleichtert die Arbeit bei der Programmentwicklung deutlich.

Allgemeine Befehle und Funktionen

Unter Turbo-BASIC XL kann man direkt mit Hexadezimal-Zahlen arbeiten und es stehen mächtige Befehle zum Durchsuchen von Strings zur Verfügung. Es gibt zudem eine Reihe von Befehlen und Funktionen, die unter Atari-BASIC nur über Umwegen zu programmieren sind wie DIV, MOD, CLS (Clear Screen) oder PAUSE.

Erweiterter Editor

Turbo-BASIC XL verwendet den von Atari-BASIC bekannten Editor, dieser wurde jedoch stark erweitert. Standardmäßig werden Schleifen und IF-THEN-ELSE-Blöcke optisch durch das Einrücken um zwei Leerzeichen hervorgehoben. Programme werden so leichter lesbar. Für die Ausgabe von Listings auf dem Drucker oder anderen externen Geräten ist diese Funktion jedoch abstellbar. Durch das Drücken der HELP-Taste kann die Bildschirmausgabe von Programmcode verlangsamt werden.

Hinzugekommen sind auch Befehle, mit denen ganze Programmblöcke gelöscht oder neu nummeriert werden können, mit DUMP kann die Variablen-Tabelle ausgegeben werden. Mit TRACE werden bei der Programmausführung die Zeilennummern ausgegeben, Programme lassen sich so leichter debuggen.

Compiler

1986 wurde im ersten Atari-XL/XE Sonderheft der Zeitschrift Happy Computer der Turbo-BASIC-XL-Compiler veröffentlicht. Damit compilierte Programme laufen nochmal im Schnitt dreimal schneller als unter Turbo-BASIC XL. Gegenüber Atari-BASIC ergibt sich somit ein Geschwindigkeitsgewinn vom Faktor 10 bis 12. In Benchmarks war der Turbo-BASIC-XL-Compiler schneller als alle 1986 erhältlichen kommerziellen BASIC-Compiler für Atari-Heimcomputer.

Verbreitung

Turbo-BASIC XL ist eine der erfolgreichsten Programmiersprachen und nach Atari-BASIC der wohl meist verbreitete BASIC-Dialekt für die Atari-Heimcomputer. Die kommerziellen Nachfolger von Atari-BASIC (BASIC A+, BASIC XL und BASIC XE) von Optimized Software Systems (OSS) waren zwar zum Teil vom Befehlsumfang deutlich leistungsfähiger und vergleichsweise schnell, wie Turbo-BASIC XL, doch ließen sich diese Programmiersprachen nur begrenzt zur kommerziellen Anwendungsentwicklung einsetzen, da es für diese keine Compiler und für BASIC A+ nicht einmal eine Runtime Library gab. Zudem kosteten diese Programmiersprachen zwischen 80 und 100 US-Dollar, während es Turbo-BASIC XL und Compiler praktisch umsonst gab.

Trivia

Mit einer Länge von 18108 Byte ist Turbo-BASIC XL eines der längsten Programme, das jemals von der Zeitschrift Happy Computer zum Abtippen veröffentlich wurde, normalerweise gab es eine Größenbeschränkung auf ca. 10 KB. Da die Programme Hexadezimal abgedruckt waren, musste man einschließlich Prüfsummen mehr als 40.000 Zeichen für den Interpreter eingeben. Compiler und Runtime waren zusammen fast ebenso umfangreich.

Frank Ostrowski entwickelte seinen BASIC-Interpreter ursprünglich für den Atari 800. Diese Version wurde jedoch erst 1986 unter dem Namen Turbo-BASIC v1.4 (ohne Zusatz XL) veröffentlicht, sie ist jedoch nur von historischer Bedeutung, da zu dem Zeitpunkt die Atari 800-Rechner nur noch spärlich im Einsatz waren, zudem hat man nur ca. 23 KB Speicher für eigene Programme frei.