www.wikidata.de-de.nina.az
Atari BASIC selten auch Shepardson BASIC genannt ist ein ROM residenter BASIC Interpreter fur Atari 8 Bit Heimcomputer Die erste Version wurde mit den Systemen der Atari 400 800 als 8 KB Einsteck Cartridge mitgeliefert in den Rechnern der Atari XL XE Reihe war es fest eingebaut und wurde automatisch gestartet wenn der Cartridge Schacht nicht belegt war und der Computer nicht mit gedruckter OPTION Taste gebootet wurde Der vollstandige kommentierte Quelltext und Beschreibung der Architektur von Atari BASIC wurde bereits sehr fruh in Buchform veroffentlicht Die grundlegende Beschreibung von Parser und Interpreter brachte eine ganze Familie von davon stark beeinflussten BASICs hervor Inhaltsverzeichnis 1 Geschichte des Atari BASIC 2 Besonderheiten von Atari BASIC 2 1 Geschwindigkeit und Datentypen 2 2 Grafik und Soundanweisungen 2 3 Die Ein und Ausgabe uber XIO 3 Nachfolger von Atari BASIC 4 LiteraturGeschichte des Atari BASIC BearbeitenUrsprunglich waren die Atari 400 800 Serie als Nachfolger der Spielekonsole Atari 2600 geplant bevor man sich entschloss in den wachsenden Markt fur Heimcomputer einzusteigen Dazu benotigte Atari aber dringend noch einen Basic Interpreter da dies zu der Zeit eine Grundanforderung an einen Heimcomputer war Atari entschloss sich wie viele andere Computerhersteller auch die 8 KB Version von Microsoft BASIC zu verwenden dem damals vorherrschenden BASIC Dialekt und erwarb auch eine Lizenz von Microsoft Allerdings wuchs der benotigte Speicherbedarf bei der Portierung vom 8080 auf den 6502 Prozessor von 8 kB auf 11 kB an da der 6502 uber einen kleineren Befehlssatz verfugt Dies war zu viel fur ein ROM Modul dieser Zeit nbsp Ein Atari BASIC Programm wie es im Editor eingegeben wird im Beispiel der Euklidische Algorithmus Als der angekundigte Veroffentlichungstermin fur die Atari Computer immer naher ruckte wandte man sich an Shepardson Microsystems Inc die bereits einige Programme fur Apple II Rechner geschrieben hatten und die dabei waren einen eigenen BASIC Interpreter zu entwickeln Shepardson schlug ein vollstandiges Redesign vor das Ergebnis war eine BASIC Version die sich stark von dem ursprunglich geplanten Microsoft BASIC unterschied Aufgrund einer Bonus Regelung im Vertrag schritt die Entwicklung schnell voran und konnte noch rechtzeitig vor Veroffentlichung der Computer fertiggestellt werden Insgesamt wurden drei Versionen des Atari BASIC veroffentlicht Revision A lag ausschliesslich den Systemen der Atari 400 800er Serie als Cartridge bei Die Programmierer bei Shepardson entdeckten noch vor der Veroffentlichung einige Bugs zu dem Zeitpunkt waren die Cartridges aber bereits in Produktion Der schwerwiegendste Fehler dieser Version war dass sich die Tastatur des Rechners beim Loschen von Programmcode gelegentlich vollstandig aufhangte einschliesslich der Reset Taste so dass nur noch ein Kaltstart half Revision B war in den Atari XL Rechnern fest eingebaut Den Keyboard Hangup hatte man zwar beseitigt aber dafur einen weit ernsteren Fehler eingebaut Bei jedem Abspeichern wurden dem Programm 16 Byte hinzugefugt so dass man in die Gefahr geraten konnte dass einem vorzeitig der Speicher ausgeht Auf dem 600 XL der nur uber 16 kB RAM fur BASIC Programme verfugte war dies ein weitaus ernsteres Problem Revision C wurde ab 1983 in geringen Stuckzahlen als Cartridge verkauft in den Computern wurde es jedoch nicht vor 1984 eingebaut Es kam in den letzten Atari 800 XL Rechnern sowie allen Systemen der Atari XE Serie zum Einsatz Besonderheiten von Atari BASIC BearbeitenGeschwindigkeit und Datentypen Bearbeiten Atari BASIC ist deutlich langsamer als andere BASIC Versionen dieser Zeit obwohl der Prozessor der Atari Computer mit 1 77 MHz PAL bzw 1 79 NTSC damals sehr schnell getaktet war Grund ist zum einen dass bei Sprungen und Rucksprungen nicht die Speicheradresse direkt angesprungen sondern immer die Zeilennummer referenziert wird nach der jedes Mal das Programm abgesucht werden muss Ein Beispiel dafur ist die in BASIC damals sehr beliebte Verzogerungsschleife 10000 FOR I 1 TO 1000 10010 NEXT I Bei Aufruf der FOR Schleife wird die Programmzeile 10000 als Rucksprungadresse gespeichert Gelangt das Programm an die passende NEXT Anweisung durchsucht der Interpreter das Programm nun von der ersten Programmzeile an bis es auf die Zeile 10000 stosst und fahrt dort mit der Abarbeitung fort Dies bedeutet einen Performanceverlust insbesondere fur Schleifen am Ende eines langen Programms Zudem kennt Atari BASIC keine Ganzzahlarithmetik Integers alle Zahlen werden grundsatzlich als 7 Byte BCD gespeichert Bei der Arithmetik greift Atari BASIC auf Routinen des Betriebssystems zuruck die auf Speicherplatz und nicht auf Geschwindigkeit optimiert wurden Der grosste Unterschied zu anderen Basic Dialekten liegt jedoch in der Behandlung von Arrays und Strings Atari BASIC kennt nur eindimensionale Arrays String Arrays sind uberhaupt nicht moglich Strings mussen zum Programmstart grundsatzlich dimensioniert werden Befehle wie LEFT MID RIGHT zur Stringbehandlung existieren unter Atari BASIC nicht dafur hat man aber direkten Zugriff auf jedes String Element Mit A 5 5 greift man auf das 5 Zeichen im String A zu mit A 4 6 auf die Zeichen 4 bis 6 und mit A 6 auf das 6 bis letzte Zeichen Daruber kann man auch gezielt einzelne String Elemente manipulieren was unter anderen BASIC Dialekten i d R nicht moglich ist Grafik und Soundanweisungen Bearbeiten Im Gegensatz zu anderen BASIC Dialekten dieser Zeit verfugt Atari BASIC schon uber Befehle zur Grafik und Soundprogrammierung So lassen sich z B mit PLOT und DRAWTO Punkte und Linien zeichnen mit SETCOLOR Farbregister verandern aber nicht auslesen und mit SOUND hat man Zugriff auf die vier getrennten Soundkanale des POKEY Chip Auch zur Abfrage von Joystick und Paddle existieren Funktionen Auf anderen Heimcomputern wie z B dem C 64 musste man dazu Betriebssystem Routinen aufrufen oder kryptische POKE und PEEK Anweisungen verwenden Allerdings sind insbesondere die Grafik Befehle beim Atari BASIC nur als rudimentar zu bezeichnen Es gibt z B keine Funktionen um Kreise oder Ellipsen zu zeichnen oder Flachen zu fullen Auch fur die Programmierung von Player Missiles der Atari Entsprechung von Sprites wird nicht unterstutzt hier ist man wiederum auf POKEs und z T Unterprogramme in Maschinensprache angewiesen Die Ein und Ausgabe uber XIO Bearbeiten Fur die Aus und Eingabe auf von Druckern Plotter Kassette Diskette Modem u a existiert die Universal Anweisung XIO Abkurzung fur extended input output Uber XIO Befehle kann man z B Dateien auf der Diskette umbenennen oder loschen ohne dazu ins DOS Menu gehen zu mussen Fur einige XIO Befehle gibt es Basic Aliasse manche XIO Funktionen sind exklusiv Nachfolger von Atari BASIC Bearbeiten1981 machten sich Programmierer von Shepardson Microsystems selbststandig grundeten die Firma Optimized Software Systems OSS erwarben die Rechte an Shepardson BASIC und entwickelten dieses weiter zu BASIC A Dieser BASIC Interpreter beseitigte die grossten Schwachen von Atari BASIC wie die mangelhafte Geschwindigkeit und fugte zahlreiche Befehle zur Grafik Bearbeitung einschliesslich Player Missile Grafik Mit BASIC XL und BASIC XE setze OSS diese Reihe fort Atari veroffentlichte schliesslich auch seine Portierung von Microsoft BASIC Alle diese Sprachen hatten den Nachteil dass der Anwender den Interpreter zur Ausfuhrung der Programme besitzen musste Einen Compiler gab es nicht fur BASIC XL wurde immerhin eine frei verteilbare Runtime mitgeliefert Weitaus erfolgreicher war schliesslich der inoffizielle Nachfolger von Atari BASIC Turbo BASIC XL der 1985 als Listing des Monats in der Zeitschrift Happy Computer veroffentlicht wurde spater kam auch ein Compiler hinzu Als Programme zum Abtippen standen Interpreter und Compiler nahezu zum Nulltarif zur Verfugung so dass sich dieser zu Atari BASIC abwartskompatible Dialekt schnell als Standard etablieren konnte Siehe auch Atari Microsoft BASIC Literatur BearbeitenKathleen O Brien Bill Wilkinson Paul Laughton Atari BASIC Source Book Compute Publications Inc U S 1983 ISBN 0 942386 15 9 englisch vollstandiger Quellcode Lon Poole Martin McNiff amp Steven Cook Mein ATARI Computer te wi Munchen 1983 ISBN 3 921803 18 7 Dr Hans Joachim Sacht BASIC Dialekte Humboldt Taschenbuchverlag Munchen 1985 ISBN 3 581 66524 7 Abgerufen von https de wikipedia org w index php title Atari BASIC amp oldid 235778368