# Acorn Archimedes

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, 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.
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 MEMC (Memory-Controller), IOC (Input-Output-Controller) und VIDC (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.
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.
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, 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.

## 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

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.
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.
Typische Karten für ein anfängliches Archimedes-System waren Disk-Buffer-Karten zum Anschluss externer Diskettenlaufwerke, Karten mit einem zum BBC Micro kompatiblem User-Port für selbstgebaute Erweiterungen und EPROM-Bänke auf Podules bzw. auch kombinierte EPROM- und RAM-Bänke, wobei das RAM batteriegepuffert wurde. Diese Podules kamen insbesondere in Schulen im Vereinigten Königreich zum Einsatz, wobei der Archimedes als großer Rechner und Dateiserver fungierte, was mittels Acorns LAN-System Econet funktionierte.
A3000, A3010, A3020 und A4000 verfügen über eine Abwandlung dieses Bus-Systems, das aber nur noch 8 Bit Datenbreite besitzt und über einen speziellen Anschluss, eine Stiftleiste, angeschlossen wird. Darin lassen sich sogenannte Mini-Podules installieren.
Die dritte Variante sind die Micro-Podules der Firma HCCS. Im Gegensatz zu den vorgenannten originären Acorn-Anschlüssen erfordern sie eine Trägerplatine, die entweder als Podule oder als Mini-Podule angeschlossen wird und auf die wiederum bis zu drei Micro-Podules aufgesteckt werden können. Dieses Format ist zwar platzsparend, aber nicht sehr verbreitet. Zudem ist die Auswahl an Micro-Podules recht eingeschränkt.

### Umbau-Erweiterungen

Gerade die Archimedes-Computer der ersten Baureihen sind von Nutzern und Fachhändlern oft mannigfaltig umgebaut worden.
Eine wichtige Erweiterung waren RAM-Erweiterungen, die in den Rechnern der A300- und A400-Serien mit aufwendigeren Lötarbeiten einhergehen. Spätere Modelle ab dem A3000 können durch einfaches Zustecken von Speicherchips direkt auf die Hauptplatine oder über spezielle steckbare RAM-Karten oder im Fall des A7000 durch SIMM-Module mit mehr Speicher ausgerüstet werden. Bemerkenswert sind dabei solche Umbauten, die eine Grenze von 4 MB überschreiten. Da ein einzelner MEMC-Memory-Controller nur bis zu 4 MB RAM ansprechen kann, benötigt man für die Nutzung von 8 MB folglich einen zweiten MEMC, was aber mit Ausnahme des A540 und der Unix-Geräte nicht vorgesehen ist. Damit einher geht somit ein Auslöten des MEMC, sofern dieser ungesockelt ist, Anbringen eines Sockels und Aufstecken einer speziellen Platine, die anschließend den originalen MEMC und den Ergänzungs-MEMC beherbergt sowie eine Verbindung zum Erweiterungs-RAM herstellt. Dadurch lassen sich mit den üblichen Umbausätzen 8 MB in Archimedes-Rechnern installieren. Bei Geräten, in denen dies bereits vorgesehen ist (Steckplätze für RAM Karten mit MEMC und je 4 MB) ist eine Erweiterung auf 16 MB möglich.
Ein weiterer wichtiger Umbaugrund für den MEMC ist der Wunsch, auf einem Erstausgabe-Archimedes ein RISC OS zu betreiben. Da dieses prinzipiell einen MEMC 1a erfordert, muss dieser in der Maschine nachgerüstet werden. Ohne MEMC 1a lässt sich nur Arthur als Betriebssystem nutzen.
In Geräten mit einem ARM250 ist der MEMC in den Hauptprozessor integriert und kann daher schlecht durch einen zweiten ergänzt werden. Daher sind Erweiterungen der A3010, A3020, A4000 nur bis 4 MB möglich. Der A5000 existiert in einer Variante mit gesockeltem MEMC, wodurch derartige Umbauten einfacher sind. Dort waren 8 MB in professionellen DTP-Maschinen schon durchaus üblich und mehr möglich, allerdings sehr kostenintensiv.
Ein wichtiger Umbau, der die Archimedes-Reihe zu wirklichen Dauerläufern hat werden lassen, war die Möglichkeit ein CPU-Upgrade auf ARM 3 vorzunehmen. Möglich wird dies, da der verbaute ARM 2 und der ARM 3 sich nicht wesentlich unterscheiden und derselben Prozessor-Version angehören. Der ARM 3 ist rein formal ein ARM v2a. Der wesentliche Unterschied zwischen beiden ist der im ARM 3 integrierte Cache sowie eine zusätzliche Anweisung, die es erlaubt, den Inhalt zweier Register zu tauschen (SWP für Swap, gut z. B. für Sortierverfahren). Zudem kann der ARM 3 mit wesentlich höheren Takten betrieben werden. Je nach Chip-Version war ein Takt von bis zu 36 MHz möglich, üblich waren eher 20 oder 25 MHz. Dieser Umbau ist in vielen Archimedes der A300- und A400-Serien und auch oft beim A3000 vorgenommen worden. Dabei wird, ähnlich wie bei den RAMs oben, die eigentliche CPU ausgelötet und ein neuer Sockel eingesetzt. In diesen wiederum kommt ein Adapter, über den eine kleine Platine mit dem ARM-3-Upgrade inkl. der notwendigen Quarz-Oszillatoren angebunden wird. Das Ergebnis ist ein Rechner auf (fast) dem Niveau eines A5000 mit etwa 12,5 MIPS Integer-Leistung unter Beibehaltung sämtlicher sonst bereits am Gerät vorgenommener Investitionen.
Der dritte wesentliche Umbau war das Upgrade des Betriebssystems RISC OS 2 auf die modernere Variante RISC OS 3. Da diese wesentlich mehr Software mitbringt, werden 4 ROMS benötigt, für die die ersten Archimedes nicht vorbereitet sind. Daher musste für RISC OS 3 ein sogenanntes ROM Carrier Board eingebaut werden, in das die 4 ROMS eingesteckt werden konnten.
Eine einfacher zu installierende Erweiterung ist dagegen der sogenannte VIDC Enhancer. Dabei handelt es sich um einen Quarzoszillator, der so ins System eingebaut wird, dass der Video-Chip anschließend mit höheren Frequenzen betrieben werden kann (Hardware-Übertakten). Vorteil sind die höheren erreichbaren Auflösungen bzw. höhere Bildwiederholfrequenzen in niedrigen Auflösungen. Nachteilig sind die durch Übertaktung sinkende Chip-Lebensdauer und teilweise Probleme bei der Soundwiedergabe, da diese vom VIDC erzeugt wird und am Videotakt orientiert ist.

## Archimedes-Modelle

* Archimedes A305 (1987), das Einsteiger- bzw. Urmodell mit ARM2-CPU mit 8 MHz, 512 kB RAM, wurde in Deutschland meist schon vom Händler auf 1 MB aufgerüstet (wobei der A305-Schriftzug mit einem A310-Schriftzug überklebt wurde)
* Archimedes A310 (1987), wie A305, nur mit 1 MB RAM
* Archimedes A410, wurde zwar (mehrfach) angekündigt, war aber (vermutlich) nie wirklich erhältlich
* Archimedes A440 (1987), wie A310, aber mit 4 MB RAM, ST506-Festplatten-Controller und einer Festplatte mit 20 MB
* Archimedes A410/1 (1989), wie A440, aber mit neuem (etwa 10 % schnellerem) Memory-Controller MEMC1a, 1 MB RAM und ohne Festplatte
* Archimedes A420/1 (1989), wie A410/1, aber mit 2 MB
* Archimedes A440/1 (1989), wie A410/1, aber mit 4 MB RAM und mit einer ST506-Festplatte mit 53 MB
* Archimedes A540 (1990), der erste Archimedes mit ARM3-CPU mit 26 MHz, 4 MB RAM (erweiterbar auf 16 MB) und optionalem mathematischem Koprozessor, SCSI-Festplatte mit 100 MB
Die nachfolgenden Modelle wurden von Acorn nicht als Archimedes bezeichnet, sind aber technisch weitestgehend mit dem Archimedes identisch:
* A3000 (1989), Tastaturcomputer, ähnlich dem Amiga 500 (bzw. dem BBC Master 128)
* R140 (1989), wie A440/1, jedoch mit einer Festplatte mit 60 MB und (zusätzlich zu RISC OS) mit RISCix (Unix-Derivat)
* R260 (1990), wie A540, aber 8 MB RAM, einer SCSI-Festplatte mit 100 MB, Ethernet-Interface und RISCix
* R225 (1990), wie R260, aber mit 4 MB RAM und ohne Laufwerke
* A5000 (1991), ARM3 mit anfangs 25 MHz (damit der A540 als Topmodell erhalten blieb), später mit bis zu 33 MHz und optional mit mathematischem Koprozessor (FPA10), erstes Modell mit serienmäßigem IDE-Controller und 2 MB (brutto) Diskettenlaufwerk
* A4 (1992), das Notebook, das technisch gesehen der Vorläufer des A5000 war (obwohl es erst nach ihm auf den Markt kam), mit ARM3 (24 MHz), 4 MB RAM und einem Graustufen-Display mit 640 × 480 Bildpunkten, das Gehäuse war identisch mit der Walkstation 386SX von Triumph-Adler und dem S20 von Olivetti (zu der Zeit war Acorn zu 79 % im Besitz von Olivetti, wozu auch TA gehörte). Es ist zusammen mit seinen Schwestermodellen S20 und Walkstation 386SX eines der ersten Notebooks mit integriertem Touchpad.
Die folgenden Modelle benutzen einen ARM250 als Hauptchip. Dabei handelt es sich um einen IC, der die Funktionen CPU (ARM) + Speichercontroller (MEMC) + Video (VIDC) + Ein-/Ausgabesteuerung (IOC) auf einem Stück Silizium vereint und somit hier im Prinzip den kompletten Rechner in einem Chip „bündelt“. Man spricht daher auch von einem System-on-a-Chip.
* A3010 (1992), Tastaturcomputer, für den Privatgebrauch konzipiert, ARM250 (Prozessor ARM2a, Speichercontroller MEMC1a, IO-Controller IOC und Grafikchip VIDC1a in einem Chip vereint), 12 MHz, 1 MB RAM, 1,6 MB Diskettenlaufwerk, erster und einziger „Archimedes“ mit eingebauten Joystick-Ports und TV-Modulator
* A3020 (1992), Variante des A3010 für Schulen, 2 MB RAM (erweiterbar auf 4 MB), keine Joystick-Ports, kein TV-Modulator, dafür mit eingebautem IDE-Controller und optionaler Festplatte sowie einem zusätzlichen Steckplatz für eine ECONET-Netzwerkkarte
* A4000 (1992), Büro-Variante des A3020 mit identischer Hardware, wie der A5000 jedoch mit abgesetzter Tastatur
Die 7000er sind eher formal eine Fortsetzung der Archimedes Geräte. Technisch entsprechen sie mehr dem Nachfolgegerät RiscPC, wobei hier dessen modularer Aufbau und Erweiterbarkeit fehlt. Zudem wird der Videochip durch fehlendes VideoRAM gebremst. Dafür gab es die 7000er auch mit eingebautem FPA (Floating Point Accelerator), d. h. mathematischem Co-Prozessor, was für bestimmte Anwendungen (Tabellenkalkulation etc.) höhere Rechengeschwindigkeiten als mit einem StrongARM RiscPC erlaubt. Auch hier ist wieder im Prinzip der komplette Computer in einem IC vereint.
* A7000 (1995)
* A7000+ (1997)
Nachfolger waren die Risc PCs von Acorn.