mini|Acorn Archimedes 400/1 mit separater Tastatur mini|Logo
Acorn Archimedes ist eine von 1987 bis Mitte der 1990er Jahre produzierte Computerserie des britischen Unternehmens Acorn, die das Betriebssystem Arthur bzw. ab 1989 RISC OS verwendeten.
Mikroprozessor Acorn hatte 1983 mit der Entwicklung eines eigenen 32-Bit-RISC-Prozessors begonnen, der Acorn RISC Machine. Diese wurde erstmals im Archimedes serienmäßig eingesetzt,VL86C010 (ARM2) der dadurch zum ersten für eine breite Käuferschicht zugänglichen Computer mit einer RISC-CPU wurde. Der Prozessor zeichnete sich durch eine für damalige Heimcomputer sehr hohe Geschwindigkeit aus.
Die Arbeitsgeschwindigkeit der mit 8 MHz getakteten und damals etwa ab 3500 DM teuren ersten Modelle übertraf die meisten anderen Computersysteme in der Preisklasse bis etwa 20.000 DM (inflationsbereinigt ca. 3.300 bzw. 19.000 Euro, Stand 2022).
Die ersten Modelle (A305 und A310) sowie der A3000 trugen auf der Tastatur neben dem Archimedes-Logo noch den Schriftzug „British Broadcasting Corporation Microcomputer System“ und hatten die für BBC-Computer typischen roten Funktionstasten.
mini|Acorn A3000
Mit der Einführung des Acorn A3000 erschien im Frühjahr 1989 eine Variante, deren Form sich an den Pultgehäusen des Amiga 500 bzw. des Atari 520ST und 1040ST orientierte. Der A3000 war für Privatanwender erschwinglicher als die A300- bzw. A400-Reihe. Diese Form wurde auch bei den Modellen A3010 und A3020 benutzt. Alle anderen Archimedes-Geräte sind als klassische 3-Boxen-Rechner mit separater Tastatur, Rechner und Monitor aufgebaut.
Systemkomponenten Die hohe Leistung ergab sich auch durch die auf den ARM-Prozessor und seine Arbeitsweise (32 Bit, Load-Store Architektur) abgestimmten weiteren System-Chips MEMCMEMC Datasheet (Memory-Controller), IOCIOC Datasheet (Input-Output-Controller) und VIDCVIDC Datasheet (Video-Controller), die in den ersten Archimedes-Modellen noch die Eigennamen ANNA, ALBION und ARABELLA trugen. Später erhielten sie eine einfache Chipnummerierung des Herstellers VLSI Technology.
Grafik Der Archimedes beherrschte auch ohne Interlace höhere Auflösungen bis zu 1152 × 896 bei zwei Farben und 640 × 512 bei 256 Farben. Bei seinem Grafikchip (VIDC) ließen sich Auflösungen und Farbtiefen in weiten Grenzen beliebig programmieren, was jedoch einen entsprechend flexiblen Monitor voraussetzte (sehr beliebt war der Multisync II von NEC; das Luxusmodell war wohl der Eizo 9060).
Der Archimedes konnte aus insgesamt 4096 Farben wählen, von denen je nach Modus 2, 4, 16 oder 256 gleichzeitig dargestellt werden konnten. Dabei wird für den Desktop unter RISC OS eine definierte Palette von 16 Farbwerten benutzt, die sich aus 8 Grauwerten (inkl. Schwarz und Weiß) sowie 8 echten Farben zusammensetzt. Die 256 Farben werden durch 64 echte Farbwerte gebildet, von denen jeder einzelne in jeweils 4 unterschiedlichen Helligkeiten vom Videochip angezeigt werden kann. Das Betriebssystem enthält Code, um für einen beliebigen gewünschten Farbwert im RGB Spektrum (24 Bit) den am besten passenden aus der aktuellen anzeigbaren Farbpalette zu ermitteln (ColourTrans Modul). Für Schwarzweiß-Darstellungen (in hohen Auflösungen) kann auf ein einfaches Dithering zurückgegriffen werden.
Der Archimedes beherrschte nur ein Hardware-Sprite (das in erster Linie als Mauszeiger verwendet wurde). Zudem hatte er keine Grafik-Spezialchips, so dass die Entwicklung von Spielen schwierig war. Trotzdem gab es auch beim Archimedes aufwendig gestaltete Spiele, darunter Umsetzungen von Amiga-Spielen, die ihren Originalen entsprachen.
Das Betriebssystem RISC OS unterstützte bereits Vektorschriftarten und viele weitere Funktionen, sodass es für Programmierer relativ einfach war, diese in komplexen Anwendungen zu verwenden. Eindrucksvoll zeigt sich das beim Programm !Draw, das sich funktional mit den damaligen Versionen von Corel Draw messen konnte, aber schneller lief und vollständig im ROM enthalten war.
Audio Der Archimedes bot, wie bei heutiger Soundhardware üblich, lediglich einen DMA-Kanal und musste die Audiodaten der einzelnen Kanäle vor der Ausgabe per Software zusammensetzen. Die Ausgabe der Samples wurde dabei nicht linear, sondern logarithmisch umgesetzt, was dem menschlichen Gehör näher kommt als die heute üblicherweise genutzte lineare Abbildung. Dadurch konnte mit den 8-Bit-Samples ein Dynamikumfang von ca. 12 Bit erzielt werden. Das Betriebssystem stellte 8 Stimmen zur Verfügung. 16-stimmige Tracker wie der !Coconizer waren verfügbar.
Betriebssystem Das Betriebssystem RISC OS beinhaltete neben der grafischen Oberfläche bereits zahlreiche Programme wie !Paint (ein Bitmap-Zeichenprogramm), !Draw (ein vektororientiertes DTP-Programm) sowie !Edit (ein Schreibprogramm). Die Programme des Archimedes starteten in der sogenannten Taskleiste, die Microsoft für Windows 95 lizenzierte. Enthalten waren auch ein CLI, eine komplexe, Unix nachempfundene Betriebssystem-Shell, die Stapelverarbeitung ausführen konnte, sowie BBC BASIC, das auch die Inline-Verwendung von in Assemblersprache geschriebenem Code unterstützte.vmtl. erster RISC OS Flyer (englisch)
Ab Version RISC OS 2 befand sich das Betriebssystem im ROM und erlaubte so den Systemstart ohne Rückgriff auf nicht-volatile Speichermedien wie ein Festplattenlaufwerk oder Disketten. Dauerhafte Einstellungen wurden in einem batteriegepufferten CMOS-RAM gespeichert. RISC OS 3 konnte ebenfalls ohne Disketten oder Festplatte gebootet werden, jedoch wurden Bootdisketten mitgeliefert, von denen diverse Erweiterungen nachgeladen werden konnten.
Das Betriebssystem bot kooperatives Multitasking. Kooperativ bedeutet, dass die Anwendungen vom RISC OS aufgerufen wurden und selbständig wieder nach bspw. einen Zyklus die CPU abgeben mussten, so dass das RISC OS die CPU an die nächste Anwendung übergeben konnte. Der Speichercontroller MEMC des Archimedes konnte den gesamten Speicher umblenden (Memory Mapping), so dass jedes Programm scheinbar im gleichen Speicherbereich ausgeführt wurde, ohne jedoch die anderen Programme zu beeinflussen.
Die Bedienung der grafischen Oberfläche erfolgte fast ausschließlich mit der Maus, die mit drei Tasten ausgestattet war. Mit der mittleren Maustaste wurden zu allen Objekten auf dem Desktop und in den Programmen Kontextmenüs geöffnet. Das Betriebssystem unterstützte durchgehend Drag and Drop.
Der Taskmanager des RISC OS listete alle Programme und deren Ressourcenverbrauch auf.
Ein Nachteil des kooperativem Multitaskings im Vergleich zum präemptiven Multitasking (wie z. B. beim Amiga, Windows NT oder Unix-Derivaten) ist, dass die Programme die Kontrolle selbständig wieder an das Betriebssystem übergeben müssen und somit ein Programmfehler schwerwiegende Folgen für das gesamte System haben kann. Allerdings ist es zumindest bei späteren RISC-OS-Versionen möglich,http://www.riscos.com/support/users/userguide3/bookb/book_6.html in diesem Fall das hängende Programm mit einer Tastenkombination zu beenden um somit einen Absturz des gesamten Betriebssystems zu vermeiden.
Die Systemstabilität ist ferner dem Fehlen von Dynamic Link Librarys zu verdanken, deren sonstige Funktionalität durch die Routinen im unveränderlichen ROM bereitgestellt wurden. Ferner verhinderte der MEMC (hardwarebasierend) Fehler, bei denen Programme den Speicherbereich des Betriebssystems zu überschreiben drohen; derartige Fehler können bei Systemen ohne vergleichbare Hardwareunterstützung prinzipiell zu einem Absturz des Systems führen.
Die Defaulteinstellung für den Zeichensatz ist ISO 8859-1 mit proprietären Erweiterungen. Die Umstellung auf andere Zeichensätze ist möglich.Latin1 Standardzeichensatz des Archimedes
Programmierung des Archimedes Das im ROM eingebaute BBC BASIC unterstützte auch Inline-Assemblersprache. Die grafische Benutzeroberfläche des ersten Archimedes-Betriebssystems, Arthur, wurde noch teilweise in BBC BASIC programmiert. Das spätere Betriebssystem RISC OS wurde schließlich vollständig in Assembler geschrieben.
Für die Betriebssystemaufrufe bot der Arm einen eigenen Assembler-Befehl, den SWI (Software Interrupt). So konnten Betriebssystemfunktionen aus dem Assembler in der Form z. B. SWI „OS_WriteC“ (für Write Character) aufgerufen werden. Als Parameter dienten hier die 16 Register des Arms. Detaillierte Handbücher listeten alle SWIs von RISC OS auf und dokumentierten die Ein- und Ausgänge der Register und die Funktionen.
Eigene Betriebssystem-Aufrufe konnten über neue Module programmiert und so das Betriebssystem beliebig erweitert werden.
Ein PC-Emulator ermöglichte es, PC-Programme auszuführen.
Erweiterungen
Alle Archimedes-Rechner sind prinzipiell erweiterungsfähig. Dabei gibt es jedoch mindestens drei verschiedene Arten, Zusatzkarten zu verbauen, und daneben auch – insbesondere für die frühen Modelle – Varianten, deren Installation Erfahrung im Bereich der Elektronik voraussetzt und die ursprünglich für den Einbau durch den Fachhändler vorgesehen waren. Oft war der Einbau direkt im Preis inbegriffen.
Steckkarten-Erweiterungen mini|AKA01-Backplane für die A300-Serie mit 2 Slots Der klassische Erweiterungsport für Steckkarten am Archimedes ist ein 64-poliger Bus mit 16 Bit Datenbreite, in den sogenannte Podules eingesetzt werden können. Optisch und vom Stecker erinnert dies an das VMEbus-System der Industrie- und CP/M-Computer. Um diese Podules verwenden zu können, muss eine Riser-Karte, die hier Backplane genannt wird, installiert sein. Insbesondere die frühen Modelle A305 und A310 haben teils nur eine Backplane mit 2 Steckplätzen oder gar keine Backplane. Das Gehäuse erlaubt prinzipiell eine große Backplane mit 4 Steckplätzen, beim Umrüsten müssen aber Stromverbrauch und weitere Faktoren berücksichtigt werden. Geräte der 400er-Reihe besitzen i. A. die Backplane mit 4 Steckplätzen, ebenso die A5000. Der A3000 besitzt einen nach außen geführten Bus, an den ein Podule angeschlossen werden kann. Es gab allerdings auch sogenannte Extender, die in einem externen Gehäuse auch am A3000 die Nutzung mehrerer Podules ermöglichen. Beim A7000 lässt sich aus Platzgründen (kleines Gehäuse) nur entweder ein CD-ROM-Laufwerk oder eine Backplane mit Anschlussmöglichkeit für ein einzelnes Podule installieren.
mini|ROM-Podule AKA05 mit einfacher Breite für zusätzliche EPROMs
Die Podules selbst können einfache Breite haben oder auch über die gesamte Breite und damit über zwei Steckplätze reichen. Dabei wird der verdeckte Steckplatz unbenutzbar, obwohl er theoretisch noch frei wäre. Im Allgemeinen ist es nicht nötig, einen Gerätetreiber zu installieren, da die Steckkarten ihren Treiber auf einem EPROM mitbringen, dessen Inhalt beim Systemstart automatisch geladen wird. Es ist aber durchaus möglich, die auf dem EPROM gespeicherte Software zu deaktivieren und das Podule mit einer neueren Treiberversion von der Festplatte zu benutzen. Dies kann etwa bei Ethernet-Karten oder Laufwerksanschlüssen wie SCSI oder IDE-Karten oft sinnvoll sein. Neuere Podules verfügen teils über Flash-EEPROMs anstelle eines EPROMs, so dass die neueste Treiberversion direkt auf das Podule geschrieben werden kann.
Das Spektrum solcher Podules reicht von allen Arten der I/O-Karten wie z. B. seriellen Anschlüssen mit besonders hohen Datenübertragungsraten, IDE- und SCSI-Karten, über Joystick-Podules, MIDI-Karten bis zu Video Digitizern, Genlocks oder Soundkarten mit Synthesizerfunktionen. Außerdem existieren Podules, auf denen sich zur Hardware-Emulation ein kompletter kleiner Computer befindet. Seltene Varianten sind etwa Karten mit mathematischem Koprozessor oder für spezielle Netzwerkverkabelungen.