Das Konzept des Atari

Hauptkategorie: 8-Bitter
Erstellt: 13 November 2011
Zugriffe: 1989

Die Atari-Mikrocomputer sind vom Konzept her eindeutig als Hobbygeräte entworfen. Ihre Hard- und Softwareeigenschaften bieten verschiedene Anwendungen besonders an. So eignen sich die Atari-Geräte durch ihre Ton- und Bilddeigenschaften besonders zum Videospielcomputer. Natürlich sind sie ebenso zum Erlernen von BASIC geeignet. Aber schon das BASIC ist mehr auf spielerische Anwendungen, als auf kommerzielle, ausgelegt. Genauso ist es möglich, mit Zusätzen auch andere Programmiersprachen, wie zum Beispiel Assembler oder auch PILOT, PASCAL, C oder ACTION!, kennenzulernen. Auch für eine Sprache wie Forth eignet sich der Atari hervorragend. Eine weitere Anwendung wäre die Verwendung des Atari als Lerncomputer für den Schulstoff (zum Beispiel für Vokabeln). Sicher kann man den Atari auch im Haushalt verwenden. So ließe sich beispielsweise eine Budgetüberwachung realisieren oder eine Schallplattenkartei aufbauen. Auch kürzere Briefe ließen sich durch den Atari leicht und effizient erstellen.

Jedoch erreicht der Atari hier seine Grenze. Größere Datenmengen lassen sich mit ihm nur sehr schwer bewältigen, da seine Diskettenlaufwerke nicht groß und schnell genug sind. Auch ist es mühsam, ihn als Textsystem zu gebrauchen, da sein Bildschirm nicht über die, für die meisten Zwecke benötigten, 80 Zeichen pro Zeile verfügt. Für kommerzielle Anwendungen sind die Atari-Geräte also nur sehr bedingt geeignet. Auch für "diskettenorientierte" Programmiersprachen, wie PASCAL, FORTRAN oder insbesondere COBOL, ist der Atari in der praktischen Arbeit nicht unbedingt geeignet.

Um den Atari in seinen Einzelheiten zu verstehen, sollte man sich sein Konzept, seine prinzipielle Struktur vor Augen führen. Erst wenn man diese "durchschaut" hat, ist es sinnvoll auf die Einzelheiten der hochintegrierten Peripheriebausteine (POKEY, ANTIC, GTIA und PIA) und des Betriebssystems einzugehen.

Bei den Atari-Geräten handelt es sich um Mikrocomputer, die mit dem weit verbreiteten Mikroprozessor "6502" ausgerüstet sind.

Sicherlich kann man sich angesichts der auf dem Markt befindlichen Prozessoren fragen, ob dieser Prozessor überhaupt noch zeitgemäß ist. Gerade die 16-Bit bzw. 32-Bit-Prozessoren sind erheblich leistungsfähiger. Auch gibt es in diesen Prozessorfamilien Bausteine, die über einen nur 8 Bit breiten Datenbus verfügen, die also kaum eine komplexere Hardware benötigen, als der 6502. Zur Zeit, als die ersten Atari-Mikrocomputer entwickelt wurden, gab es diese Prozessoren allerdings noch nicht in den benötigten Stückzahlen auf dem Markt. Auch sind sie noch heute wesentlich teurer als der 6502.

Andere zu dieser Zeit verfügbare 8-Bit-Prozessoren, wie zum Beispiel der Z80, der 8080/8085, der 6800/6802 oder auch der 6809, haben entweder keinen entscheidenden Leistungsvorsprung gegenüber dem 6502 oder sind selbst relativ teuer (oder waren zum Zeitpunkt der Entwicklung der ersten AtariGeräte relativ teuer). Man sollte aber ehrlich anmerken, daß bei der Auswahl auch ganz andere Gesichtspunkte eine Rolle spielen. So kommt es bei derartigen "Großprojekten" (in der Stückzahl) auch auf das Vertrauen, und besonders die Verbindungen zum Lieferanten an. Auch müssen die personellen Möglichkeiten für eine Entwicklung vorhanden sein oder entsprechende Entwickler angeworben werden. Sicher spielen besondere Vorlieben der maßgeblichen Leute für einen bestimmten Prozessor auch noch eine Rolle.

Bei der Entwicklung der 600XL- und 800XL-Geräte wählte Atari wiederum einen 6502-Prozessor. Es wurde eine weiterentwickelte Version der bekannten CPU mit der Bezeichnung 6502C, die aber vollständig softwarekompatibel ist, verwendet. Dies geschah wohl vor allem mit Blick auf eine größtmögliche Kompatibilität zu den alten Modellen. So konnte man viele Programme und Programmteile direkt übernehmen.

Der 6502 hat außerdem den Vorteil, daß sein Systemtakt aus zwei gleichlangen Phasen besteht. Der Prozessor greift jeweils nur während der zweiten Phase auf die Peripherie bzw. auf den Speicher zu. Die Zugriffe erfolgen also immer an den gleichen "Stellen" des Systemtaktes. Dieses Konzept vereinfacht die Hardware anderer Bausteine im System, die ohne Umweg über die CPU direkt auf den Speicher zugreifen sollen und dazu die CPU stoppen müssen. In diesem Detail unterscheidet sich der 6502 wesentlich von anderen Mikroprozessoren wie zum Beispiel vom Z80, 8080 oder auch 8085.

Der 6502-Prozessor wird im Atari mit 1,77 MHz betrieben. Diese Frequenz liegt erheblich über der bei 6502-Rechnern dieser Preisklasse üblichen Arbeitsfrequenz.

Die normale Eingabe erfolgt über eine Tastatur. Die Belegung entspricht im wesentlichen der in Amerika üblichen Form (QWERTY). Einige Sonderzeichen sind beim Atari jedoch an anderer Stelle zu finden als bei anderen Computern. Die Umlaute oder andere, für andere Sprachen nötige Sonderzeichen oder Sonderformen von Buchstaben, sind beim Atari nicht ohne weiteres über die Tastatur verfügbar. Dies ist bei Computern in dieser Preisklasse aber leider üblich zu nennen. Der Atari 400 war mit einer Folientastatur ausgestattet. Das größere Modell, der Atari 800, besaß dagegen eine Tastatur mit "normalen" Tasten (ähnlich Schreibmaschinentasten). Die neuen Atari-Geräte, also der Atari 600XL und der Atari 800XL, verfügen grundsätzlich über "normale" Tasten. Die Tastaturbelegungen der Geräte unterscheiden sich nur in sehr kleinen Details, es gibt also nicht, wie bei anderen Herstellern, für jeden neuen Computer auch eine neue Tastaturbelegung. Zusätzlich zum Haupttastenfeld gibt es noch rechts auf dem Gerät die Zusatztasten "SELECT", "OPTION" und "START".

Zur Abfrage der Tastatur wurde keiner der üblichen Tastaturabfragebausteine verwendet. Statt dessen übernimmt ein Baustein im Atari (der sogennannte POKEY), der ansonsten noch für die serielle Schnittstelle und für die Tonerzeugung zuständig ist, die Abfrage der Tastatur. Das Ergebnis, das heißt, welche Taste gedrückt ist, stellt er in einem Register zur Verfügung. Die Tastatur, die wie bei anderen Systemen als Matrix aufgebaut ist, wird also nicht, wie bei anderen Hobbycomputersystemen, von der CPU zeilenweise abgefragt. Dies spart Rechenzeit der CPU. Der POKEY ist in der Lage, in dem Moment, in dem eine Taste gedrückt wird, einen Interrupt bei der CPU auszulösen (den IRQ). Es ist damit möglich, die Tastatur per Interrupt zu betreiben.

Die Zusatztasten ("SELECT", "OPTION" und "START"), die sogenannten Konsolentaster, werden über einen weiteren hochintegrierten Baustein im Atari (den GTIA) abgefragt.

Die Standardausgabe des Atari erfolgt auf einen Bildschirm. Als Bildschirm eignet sich praktisch jeder Fernseher. Ein Modulator ist in die Atari-Geräte eingebaut, es wird also nur der normale Antennen- und kein Videoeingang beim Fernseher benötigt. Zur Darstellung steht auf einem Farbfernseher eine Palette von 128 Farben zur Verfügung. Dabei wird vom Betriebssystem eine Auflösung von bis zu 320 x 192 Punkten oder 24 Zeilen mit je 40 Zeichen unterstützt. Die höchste Auflösung liegt bei 384 Punkten horizontal und etwa 210 Punkten vertikal (je nach Bildschirm).

Die gesamte Bilderstellung wird von einem Baustein, der nur von Atari verwendet wird, übernommen. Dieser Baustein wird als "ANTIC" bezeichnet. ANTIC steht wohl für "Alphanumeric Television Interface Controller". Der ANTIC ist ein zweiter Mikroprozessor, der über einen eigenen Befehlssatz verfügt. Durch das Programm des ANTICs, das man an beliebiger Stelle im Speicherraum ablegen kann, wird das darzustellende Bild definiert. Der ANTIC verfügt über 14 verschiedene Modi zur Bilddarstellung. Diese Modi lassen sich beliebig auf dem Bildschirm kombinieren. Es stehen sowohl Modi zur Schriftdarstellung (auch mit Unterlängen) und Modi zur allgemeinen Zeichendarstellung (zum Beispiel für Spielfiguren) als auch zahlreiche Betriebsarten zur Einzelpunktdarstellung mit unterschiedlich hohen Auflösungen zur Verfügung.

Die Breite des Bildes läßt sich auf drei verschiedene Werte einstellen. Je nach Einstellung ergeben sich maximale horizontale Auflösungen von 256, 320 oder 384 Bildpunkten pro Zeile. In der Bildumrandung erscheint eine (programmierbare) Farbe.

Der ANTIC liest alle Daten, die er zur Bilddarstellung benötigt, direkt ohne Umweg über die CPU aus dem Speicher. Diese Art des Zugriffs bezeichnet man als DMA (Direct Memory Access - direkten Speicherzugriff). Während eines Zugriffes des ANTICs auf den Speicher im DMA wird die CPU angehalten. Dadurch vermindert sich die effektive Arbeitsgeschwindigkeit der CPU. In den meisten Modi ist der Befehlsdurchsatz der CPU jedoch trotzdem höher als bei 6502-Systemen mit einem Systemtakt von einem Megahertz.

Der ANTIC erstellt nicht selbst die Farbinformationen im Videosignal, das über den Modulator auf dem Fernseher dargestellt wird. Der ANTIC überträgt die Bildinformationen, die er per DMA aus dem Speicher gelesen hat, zu einem weiteren Atari-Baustein. Dieser Baustein wird "GTIA" genannt. GTIA steht wohl für "Graphic Television Interface Adaptor". Der GTIA enthält unter anderem neun Farbregister, mit denen der Benutzer die Farben, die auf dem Bildschirm erscheinen sollen, aus einer Palette von 128 Farben auswählen kann. Der GTIA erhält vom ANTIC jeweils Informationen, welche Farbe, das heißt, die Farbe welchen Farbregisters, er abbilden soll. Durch dieses Konzept ergibt sich eine Farbpalette, die sonst meist nur von professionellen CAD-Systemen erreicht wird und sich kaum mit der anderer Mikrocomputer vergleichen läßt.

Besonders interessant dürfte auch sein, daß die Hardware des ANTICs die Verschiebung des Bildes um einzelne Punkte sowohl horizontal als auch vertikal unterstützt. Der Bildspeicher kann ohne "Tricks" an beliebiger Stelle im Speicherraum liegen. Der Zeichengenerator kann sich prinzipiell auch an jeder Stelle des Speichers befinden, muß allerdings, je nach ANTIC-Modus (je nachdem ob er 512 oder 1024 Bytes groß ist), an einer 512-Byte oder 1 KByte-Grenze des Speichers beginnen.

Mit diesem Gesamtkonzept der Bildschirmdarstellung ist der Atari leistungsfähiger als die meisten anderen Systeme dieser Klasse. Gerade für seine Zielgruppe, das heißt für Anwender im Spiel-, Hobby- und Heimbereich, dürften diese Leistungsmerkmale besonders interessant sein. Vor allem das Konzept eines zweiten Mikroprozessors im System, das Konzept des ANTICs, ermöglicht eine auf andere Art nicht zu erreichende Vielfalt von unterschiedlichen Arten der Bildschirmdarstellung. Auch bringt das Prinzip eines relativ hohen Systemtakts (1,77 MHz), bei dem der Befehlsdurchsatz der CPU durch Speicherzugriffe per DMA des ANTICs verringert wird, eine relativ hohe Verarbeitungsgeschwindigkeit. Zudem kann man während der Bearbeitung rechenintensiver Routinen einen ANTIC-Darstellungsmodus wählen, der nur wenige Zugriffe im DMA benötigt, oder kann sogar den Bildschirm abschalten. Dadurch erhöht sich der Befehlsdurchsatz der CPU erheblich.

Der Atari besitzt außerdem sehr vielfältige Möglichkeiten einer Tonausgabe. Diese wird von dem Baustein übernommen, der außerdem für die Abfrage der Tastatur zuständig ist, dem "POKEY". POKEY steht wohl für "POtentiometer and KEYboard Integrated Circuit". Der Pokey verfügt über vier Tongeneratoren, die sowohl unabhängig voneinander, als auch miteinander verbunden arbeiten können. Außerdem sind für jeden Kanal vielfältige Möglichkeiten zur Verzerrung usw. vorhanden. Auch sogenannte Höhenfilter lassen sich programmieren. Mit dem POKEY kann man, entsprechende Programme vorausgesetzt, die Klangvielfalt eines Synthesizers erreichen. Es ließe sich zum Beispiel auch eine SynthesizerTastatur an den Atari anschließen. Der Ton des POKEYs wird über den Modulator zum Fernseher übertragen. Zur Tonausgabe wird also der normale Fernseherlautsprecher verwendet. Es ist zudem möglich, über einen Eingang des Atari, ein externes Tonsignal in das Signal des POKEYs zu mischen.

Als großer Vorteil muß die Tatsache angesehen werden, daß es möglich ist, aus dem BASIC heraus Töne zu erzeugen, ohne, wie es bei Konkurrenzmodellen nötig ist, den "POKE"-Befehl zu benutzen. Die direkte Programmierung der Tonkanäle aus Assemblerprogrammen ist etwas komplizierter als bei vergleichbaren Geräten. Dafür sind die Möglichkeiten der Tonerzeugung, die der Atari bietet, aber den Möglichkeiten der Tonerzeugung bei Konkurrenzmodellen mindestens ebenbürtig. Unterstützt wird die Tonerzeugung zudem durch mehrere automatische Zähler, die in dem Moment, in dem sie bei Null angelangt sind, einen Interrupt der CPU auslösen. In der Interruptroutine kann man dann die Frequenz oder Lautstärke oder auch andere Parameter der Tonerzeugung verändern.

Die neuen Atari-Geräte (600XL/800XL) entsprechen in den meisten Details den alten Modellen (400/800). So sind alle Adressen der Hardware gleich geblieben. Basicprogramme lassen sich meist direkt austauschen oder müssen nur geringfügig modifiziert werden.

Bei den alten Atari-Modellen sind 4 Joystick-Ports vorhanden. An jeden der Joystick-Ports lassen sich, an Stelle eines Joysticks, auch zwei Paddles ("Drehregler") oder ein sogenannter Lightpen anschließen. Wenn man einen Lightpen auf eine Stelle des Bildschirms hält, ist es möglich, die Position des Lightpens zu bestimmen. Dies wird durch den ANTIC ermöglicht. Die Abfrage der "Joystick-Richtungen" erfolgt über einen weiteren Baustein im Atari, die "PIA". Pia steht für "Peripheral Interface Adaptor". Die "Feuertasten

der Joysticks werden über die sogenannten Triggereingänge des GTIA abgefragt. Der analoge Wert der Stellung der Drehregler (Paddles) wird im POKEY in einen digitalen Wert umgewandelt.

Bei den neuen Geräten sind nur noch zwei Anschlüsse für Joysticks vorhanden. Dies stellt nur einen geringfügigen Nachteil dar, da es für die alten Geräte nur wenige Spiele und Anwendungen gab, die alle vier Joystickports belegten, und außerdem die Werte der Joystickports 3 und 4 simuliert werden. Die so frei gewordenen Anschlüsse der PIA wurden zum Teil intern im Atari für die sogenannte MMU (Memory Management Unit) verwendet.

Im Gegensatz zu den alten Geräten, hat Atari den Speicherraum des Prozessors bei den 600XL und 800XL-Modellen zum Teil doppelt belegt. So läßt sich zum Beispiel beim Atari 800XL (oder bei einem Atari 600XL der auf 64 KByte RAM nachgerüstet wurde) das Betriebssystem abschalten. An Stelle des Betriebssystems steht dann RAM zur Verfügung. So ist es zum Beispiel möglich, das Betriebssystem der Atari 400 und 800-Modelle in die neuen Geräte zu laden. Außerdem verfügen die neuen Modelle über ein Selbsttestprogramm (im ROM), das in den normalen Arbeitsspeicherbereich eingeblendet wird, wenn beim Einschalten des Atari die "OPTION"-Taste gedrückt ist und kein Cartridge eingesteckt ist. Mit diesem Selbsttestprogramm ist es möglich den RAM-Speicher, die Tonerzeugung, die Tastatur und den Bildschirm zu testen.

Die verschiedenen Speicherbelegungen wählt man mit mehreren Portleitungen der PIA, die bei den alten Geräten für den dritten und vierten Joystickport verwendet wurden. Die sogenannte MMU gibt, je nach Einstellung und "Situation", Freigaben an die einzelnen Hardwarekomponenten des Atari. Bei der MMU handelt es sich um einen Logikbaustein, einen sogenannten PAL-Baustein (PAL steht hier für "Programmable Array Logic" und nicht für das Fernseherfarbsystem), der speziell für Atari programmiert ist. In seiner Funktion ist dieser PAL-Baustein mit gewöhnlichen TTL-Bausteinen vergleichbar.

Um andere Programme ohne Ladezeiten der Diskette oder Cassette verwenden zu können, verfügt der Atari über einen Cartridge-Slot. In diesen Cartridge-Slot lassen sich Module einstecken, die bis zu 16 KByte im Speicher belegen können. Diese Module bieten eine höhere Datensicherheit als Cassetten oder Disketten, unter anderem durch eine grundsätzlich kaum begrenzte Lebensdauer. Wenn ein Cartridge in den Slot gesteckt ist, wird der vom Speicher im Cartridge überdeckte RAM-Speicher (in zwei 8 KByte-Blöcken) abgeschaltet. Außerdem startet das Betriebssystem automatisch das im Cartridge enthaltene Programm. Zudem ist im Cartridge-Slot noch eine Freigabe-Leitung für einen 256 Byte-Block (eine Page) im Bereich der anderen I/O-Bausteine vorhanden. Damit ist es möglich, im Cartridge verschiedene ROM-Bereiche umzuschalten. Man kann also auch ROMs mit mehr als 16 KByte verwenden. Selbstverständlich könnte man mit Hilfe dieser Freigabe-Leitung auch eine Karte mit einem Peripheriebaustein im Slot betreiben. Dies ist aber bei den Atari 400 und 800Modellen umständlich, da für den Betrieb die Klappe über dem Slot geschlossen sein muß. Bei den neuen Geräten hat Atari auf die Klappe wohl aus Kostengründen verzichtet. Dabei hat sich aber die Bildqualität geringfügig verschlechtert (da die Abschirmung nicht mehr so gut ist). Dieser Effekt ist aber von Gerät zu Gerät unterschiedlich. Es kommt vor allem auch darauf an, welche anderen Geräte in der Nähe des Computers arbeiten.

Ursprünglich enthielten die Atari-Computer nur das Betriebssystem. Das BASIC, das es als Cartridge gab, mußte extra erworben werden. Atari ging offenbar davon aus, daß nicht jeder das BASIC haben wollte. Später gehörte ein BASICCartridge zum Lieferumfang dazu. Jeder, der einen AtariComputer (400 oder 800) kaufte, bekam einen BASIC-Cartridge.

Die neuen Atari-Computer (600XL/800XL) enthalten das BASIC bereits fest eingebaut. Es ist vollkommen kompatibel zu den Cartridge-Versionen des BASICs. Die Programme lassen sich also direkt austauschen, sofern nicht einige Betriebssystemroutinen, bestimmte Betriebssystemadressen oder bestimmte "Zero-Page-Adressen" verwendet worden sind. Auch ist es möglich, mit Hilfe der MMU das BASIC abzuschalten. Wenn ein Cartridge in den Slot gesteckt wird, wird das eingebaute BASIC abgeschaltet, sofern der Cartridge den gleichen Speicherraum wie das BASIC belegt. So ist es möglich, sowohl andere Programmiersprachen, als auch Erweiterungen des BASICs als Cartridge zu verwenden.

Diskettenlaufwerke, Drucker, der Cassettenrecorder sowie andere Peripheriegeräte werden an eine serielle Schnittstelle angeschlossen. Dieser Übertragungskanal wird vom POKEY bedient. Mit ihr sind Übertragungsraten bis zu 19200 Baud (in diesem Zusammenhang = Bit/Sekunde) möglich. Die Wandlung der parallen Daten in serielle und umgekehrt wird von der POKEY-Hardware übernommen. So ergeben sich höhere Übertragungsraten als bei vergleichbaren Systemen, die diese parallel/seriell-Wandlung von der CPU vornehmen lassen. Der POKEY kann einen Interrupt an die CPU senden, wenn entweder alle Bits des Ausgaberegisters übertragen sind oder das Eingaberegister voll ist. Durch diese Möglichkeit des POKEY ist es möglich, die Datenübertragung zu erledigen, gleichzeitig die CPU aber andere Aufgaben erfüllen zu lassen. Die serielle Schnittstelle entspricht leider keinem üblichen Standard. Prinzipiell ließe sie sich auch als "normale" V24-Schnitstelle programmieren. Dann wäre aber zum Beispiel ein Diskettenbetrieb nicht quasi-gleichzeitig möglich. Auch der Steckverbinder der seriellen Schnittstelle entspricht leider keiner üblichen amerikanischen oder europäischen Norm. Dadurch ist es für Zweitanbieter schwierig, die serielle Schnitstelle in eigenen Produkten zu verwenden.

Bei den alten Modellen war der Systembus nicht extra herausgeführt. Alle Änderungen und Erweiterungen mußten im Gerät vorgenommen werden. Bei den neuen Geräten ist ein "Parallelbus" mit einem 50-poligen Anschluß vorhanden. Ein Platinensteckverbinder mit einem Kontaktabstand von 2,54 mm (1/10") läßt sich ohne weiteres aufstecken. Am Parallelbus sind alle Daten- und Adressleitungen, viele Steuersignale, sowie Signale zum Anschluß von sogenanneten dynamischen RAMs herausgeführt.

Damit ist es ohne weiteres möglich, den Atari 600XL oder 800XL zu erweitern. Beispiele wären RAM-Erweiterungen, Z80Erweiterungen um CP/M zu verwenden, direkt angeschlossene Diskettenlaufwerke, 80-Zeichen-Karten, diverse Schnittstellen, Steuerungen oder Überwachungsschaltungen. Die Reihe ließe sich fast beliebig fortsetzen.

Das Konzept des Atari

Die Atari 400 und 800-Geräte verfügten in mehreren Bausteinen über 10 KByte ROM. Darin befand sich im wesentlichen das Betriebssystem und ein Zeichengenerator. Bei den neuen Geräten setzte Atari ein modernes 16 KByte-ROM ein. Der so hinzugekommene ROM-Speicherraum wurde unter anderem für die Selbsttestroutine, einen zweiten Zeichengenerator und ein erweitertes Betriebssytem verwendet.

Atari hat schon bei den alten Geräten ein "fast" echtes Betriebssystem verwendet. Im Gegensatz zu vielen anderen sogenannten Betriebssystemen besteht das Atari-Betriebssystem nicht nur aus elementaren Betriebsroutinen, sondern verfügt über leistungsfähige Betriebssystemroutinen, die universell verwendet werden können. Zum Beispiel wird der Verkehr mit Peripheriegeräten durch eine universelle Prozedur erledigt. Das aufrufende Programm muß der I/O-Routine die Ziel- bzw. Quellenangaben und alle anderen Parameter in einem sogenannten I/O-Controlblock übergeben. Dieses Konzept findet man sonst erst bei diskettenorientierten Betriebssystemen wie CP/M, MSDOS, UNIX oder QNX. Bei den Betriebssystemen der anderen Hobbycomputer, ist gewöhnlich für jedes Ein- bzw. Ausgabegerät (Bildschirm, Tastatur, Diskette, Cassette, Drucker usw.) eine eigene Routine vorhanden. Jede dieser Routinen erwartet die Daten meist in einem anderen Format. Wenn man nun ein Programm schreiben möchte, das die Ausgaben entweder in einer Diskettendatei oder auf einem Drucker bringt, stellen sich bei derartigen Betriebssystemen meist nicht ganz unerhebliche Probleme.

Die Ein- und Ausgabe des Atari ist grundsätzlich, von ihrer Hardware her, interruptfähig. Dies wird vom Betriebssystem voll unterstützt. In eigenen Maschinenprogrammen ist es also ohne weiteres möglich, zu drucken oder Ein- und Ausgaben der Diskettenlaufwerke auszuführen, während der Prozessor ansonsten noch oder bereits mit einer anderen Aufgabe beschäftigt ist. Diese Möglichkeiten des Betriebssytems werden vom BASIC jedoch nicht ausgenutzt, da dies bei einem BASIC auf einem Einplatzsystem ohne Multitask-Option ohnehin kaum sinnvoll ist. Es ließe sich aber zum Beispiel ein Textsystem programmieren, bei dem der Benutzer praktisch ohne Rücksicht auf Diskettenschreib- oder -leseoperationen oder Such- und Austauschfunktionen des Textsystems, dauermäßig Eingaben machen kann. Der Datenverkehr mit den Disketten wird über das Betriebssystem im Interrupt vorgenommen. Um keine Tastatureingaben verlorengehen zu lassen, müßte der POKEY immer, wenn eine Taste gedrückt wird, einen Interrupt auslösen. In der Unterbrechungsroutine würden alle Tastatureingaben in einen Tastaturpuffer geladen. Der "Vordergrundjob" (die Tätigkeit der CPU, die von den Interrupts unterbrochen wird, das eigentliche Textverarbeitungsprogramm) holt sich die Eingaben bei Bedarf aus dem Tastaturpuffer. Nach diesem "Muster" lassen sich noch viele andere Programme entwerfen.

Der normale Betrieb des Atari wird alle 1/50 Sekunde unterbrochen. Während der Vertikalsynchronisation des Bildschirms wird ein Interrupt ausgelöst. In der dazugehörigen Interruptroutine werden mehrere Aufgaben erfüllt. So werden mehrere Speicherzellen erhöht oder erniedrigt, diese Speicherstellen stellen dadurch Softwarezähler dar, mit denen es möglich ist, den Zeitablauf der Programme (insbesondere bei Spielen wichtig !) zu steuern. Mehrere Register lassen sich, entsprechend umgerechnet, als Uhr verwenden. Eine weitere Hauptaufgabe dieser "Vertikal-Interrupt-Routine" ist es, sogenannte Schattenregister zur Verfügung zu stellen. Da viele Hardwareregister nur schreibend oder nur lesend sind, werden vom Betriebssystem Schattenregister im RAM erzeugt. Die Werte der Schattenregister bzw. der Hardwareregister werden so 50 mal pro Sekunde aktualisiert. Die Schattenregister kann man im Gegensatz zu den meisten Hardwareregistern auch zum Beispiel durch "Increment"- und "Decrement"-Befehle modifizieren. Allerdings muß man dabei immer beachten, daß die Inhalte der Schattenregister nicht unbedingt aktuell sind.

Das Betriebssystem der Atari-Geräte ist grundsätzlich sehr sauber programmiert. Die berühmte "Hauptsache: funktioniert"-Mentalität, die man bei vielen anderen Geräten dieser Preisklasse vorfindet, wird man bei Atari, von sehr wenigen Ausnahmen abgesehen, vergeblich suchen. Das Atari-Betriebssystem verfügt über relativ wenige, dafür aber universelle Unterprogramme. Alle wichtigen Routinen werden, auch im Betriebssystem intern, über eine sogenannte Vektortabelle angesprungen. In dieser Vektortabelle stehen die Startadressen der einzelnen Routinen. Durch dieses Konzept ist es relativ einfach, das Betriebssystem sowohl aus Maschinenprogrammen heraus zu benutzen, als auch es zu verändern.

Bei den neuen Geräten ist das Betriebssystem teilweise verändert und verbessert worden. So stehen beim neuen Betriebssystem einige neue Routinen zur Verfügung. Die Vektortabelle ist prinzipiell nicht verändert worden, es sind lediglich einige Vektoren angefügt worden. Auch mußte natürlich die veränderte Hardware (zum Beispiel die MMU und das eingebaute BASIC) im Betriebssystem berücksichtigt werden. Dies hat zur Folge, daß sehr viele Routinen im neuen Betriebssystem an anderer Stelle geringfügig modifiziert vorgefunden werden. Auch viele Speicherstellen im RAM, die vom Betriebssystem als Zwischenspeicher benutzt werden, liegen jetzt an anderen Stellen. Dies hat zur Folge, daß nicht mehr alle alten Programme auf den neuen Geräten laufen. Programme, die aber Betriebssystemroutinen nur über die Vektortabelle anspringen und sich auch ansonsten an die "Betriebssystemspezifikationen" halten, werden meist ohne Problem laufen. Programme, die "Tricks" anwenden, laufen dagegen oft nur nach einer, von Fall zu Fall unterschiedlich schwierigen Anpassung auf den neuen Geräten.