Allgemein | Tutorials | Software | Projekte | LetsPlayRetro | Chica | Blog

Chica

Was ist Chica?

Chica ist, nach meiner Definition, ein Amiga-kompatibler Raspberry Pi. Das bedeutet: Einschalten und ohne Host-Betriebssystem startet direkt das Kickstart-ROM.

Technisch betrachtet ist Chica ein Amiga-Emulator auf Bare-Metal-Basis. Dennoch wird die Bezeichnung „klassischer Emulator“ dem Projekt aus meiner Sicht nicht vollständig gerecht.

Im Gegensatz zu vielen traditionellen Emulatoren arbeitet Chica nicht deterministisch. Zur Nachbildung der Amiga-Custom-Chips nutzt Chica die vier CPU-Kerne des ARM-Prozessors parallel. Dadurch laufen die einzelnen Komponenten, ähnlich wie bei einem echten Amiga, gleichzeitig, greifen gemeinsam auf den Bus zu und werden vom Agnus-Takt synchronisiert.

Das Ziel ist nicht, einen modernen Rechner lediglich einen Amiga „simulieren“ zu lassen, sondern die grundlegende Arbeitsweise der Originalhardware möglichst authentisch nachzubilden.

Aus diesem Grund bezeichne ich Chica als einen Amiga-kompatiblen Raspberry Pi beziehungsweise als einen Amiga-kompatiblen Computer.

Chica ist KEIN Amiga und soll auch keiner sein. Chica soll dem Original so kompatibel wie möglich sein, nicht mehr und nicht weniger.

Zurück


Das Ziel von Chica

Das Ziel von Chica ist einfach: Interessierten Nutzern einen erschwinglichen Zugang zu einem Amiga-kompatiblen Computer auf moderner und verfügbarer Hardware zu ermöglichen.

Wer heute einen Amiga nutzen möchte, hat im Grunde nur wenige Möglichkeiten:

  1. Man besitzt bereits einen echten Amiga.
  2. Man kauft gebrauchte Originalhardware zu inzwischen oft hohen Preisen und investiert zusätzlich in teure Erweiterungen und Reparaturen.
  3. Man greift zu FPGA-basierten Systemen wie Vampire oder MiSTer, die ebenfalls nicht günstig und häufig nur eingeschränkt verfügbar sind.

Genau hier setzt Chica an.

Viele Nutzer besitzen bereits einen Raspberry Pi, beispielsweise einen Pi 3, der früher für Home Assistant oder andere Projekte genutzt wurde und inzwischen durch einen Pi 4 oder Pi 5 ersetzt wurde.

Alternativ kostet etwa ein Raspberry Pi 400, also ein Pi 4 mit integrierter Tastatur, neu nur einen Bruchteil klassischer Amiga-Hardware. Chica installieren, einschalten und man erhält ein leistungsstarkes Amiga-kompatibles System auf moderner Hardware.

Dabei geht es nicht darum, Originalhardware zu ersetzen, sondern darum, die Amiga-Plattform zugänglich, bezahlbar und langfristig nutzbar zu halten.

Zurück


Wie kompatibel ist „kompatibel“?

Diese Frage lässt sich aktuell nicht pauschal beantworten, da die Kompatibilität von vielen Faktoren abhängt, die sich teilweise erst während der weiteren Entwicklung zeigen werden.

Grundsätzlich verfolgt Chica zwei Konzepte: den Standalone-Betrieb und die Erweiterung durch Zusatzhardware.

Standalone

Unter „Standalone“ verstehe ich ein System, bei dem lediglich eine SD-Karte mit Chica in einen Raspberry Pi gesteckt wird und der Rechner anschliessend alles mitbringt, was man von einem modernen High-End-Amiga erwarten würde.

Dazu gehören unter anderem:

  • 68040-CPU-Emulation (mehr unterstützt Moira derzeit nicht)
  • 128 bis 512 MB FastRAM
  • RTG-Grafik
  • Netzwerk
  • USB-Unterstützung

Diskettenimages werden dabei beispielsweise über USB-Sticks eingebunden. Maus, Tastatur und Joysticks können direkt per USB angeschlossen werden. Zusätzliche Hardware ist nicht erforderlich.

Mit Zusatzhardware

Zusätzlich soll Chica durch Erweiterungshardware ergänzt werden können, die über GPIO mit dem Raspberry Pi verbunden wird.

Wie weit dieses Konzept technisch sinnvoll umsetzbar ist, kann ich derzeit noch nicht vollständig abschätzen. Dazu fehlen aktuell noch praktische Erfahrungen bezüglich Aufwand, Kosten und technischer Grenzen.

Die erste geplante Erweiterung ist die ChicaBridge.

Diese Hardware soll es ermöglichen, echte Diskettenlaufwerke direkt an Chica anzuschliessen. Die Verbindung erfolgt über GPIO, während ein Raspberry Pi Pico als dedizierter Controller für das Laufwerk arbeitet und sämtliche Laufwerkszugriffe übernimmt.

Gegenüber Chica und Kickstart soll sich die Hardware vollständig transparent verhalten. Das Ziel ist, dass Kickstart keinen Unterschied zwischen echter Amiga-Hardware und der ChicaBridge erkennt.

In der aktuellen Vision sollen sowohl Standard-PC-Diskettenlaufwerke als auch originale Amiga-Laufwerke unterstützt werden, ohne Modifikationen an den Laufwerken selbst.

Wie weit diese Erweiterungsidee später ausgebaut wird, ist noch offen. Möglich wäre beispielsweise eine einfache Bridge für originale Amiga-Tastaturen und DB9-Joysticks. Denkbar wäre aber auch ein vollständiges Erweiterungssystem mit Zorro-III-Steckplätzen und weiterer klassischer Amiga-Hardware.

Eines wird dabei jedoch immer gelten:

Chica soll strikt Amiga-kompatibel bleiben. Wenn etwas auf einem echten Amiga nicht möglich ist, soll es auch unter Chica nicht möglich sein, selbst dann nicht, wenn die Raspberry-Pi-Hardware es technisch erlauben würde.

Software und Hardware, die unter Chica funktionieren, sollen sich stets wie echte Amiga-Systeme verhalten. Chica soll niemals eine eigene Plattform werden, für die spezielle Software entwickelt werden muss.

Es soll niemals heissen: „Dafür braucht man einen Chica.“

Zurück


Modelle

Ursprünglich war geplant, Chica als eine einheitliche Software für alle Raspberry-Pi-Modelle zu entwickeln. Im Laufe der Entwicklung hat sich jedoch gezeigt, dass sich die einzelnen Modelle in vielen technischen Details unterscheiden, was langfristig zu Kompatibilitäts- und Wartungsproblemen führen kann.

Aus diesem Grund habe ich mich entschieden, statt klassischer „Versionen“ verschiedene Modelle zu definieren – auch, um bewusst den Charme und die Namensgebung der klassischen Amiga-Ära aufzugreifen.

Standard-Modelle

  • Chica 400
  • Chica 500
  • Chica 500+

D-Modelle

  • Chica 300 D
  • Chica 400 D
  • Chica 500 D

Die Modelle Chica 400 und Chica 500(+) basieren auf dem Raspberry Pi 400 beziehungsweise Pi 500(+). Dadurch sind weder ein separates Gehäuse noch eine zusätzliche Tastatur erforderlich.

Die Modelle Chica 300 D bis Chica 500 D basieren dagegen auf den klassischen Raspberry-Pi-Platinen der Serien Pi 3 bis Pi 5.

Das „D“ steht dabei für DIY („Do It Yourself“). Nutzer können sich ihr eigenes Chica-System somit optisch und technisch individuell zusammenstellen, vom einfachen Eigenbau bis hin zum vollständig integrierten Retro-System.

Langfristig sollen die einzelnen Modelle klar definierte Hardwareplattformen darstellen, um Entwicklung, Kompatibilität und Erweiterbarkeit besser kontrollieren zu können.

Zurück


Fahrplan:

    [⏳] Booten bis zur Insert-Disk-Animation
    [-] Laden einer ADF
    [-] Mauseingabe-Initialisierung
    [-] Tastatureingabe-Initialisierung
    [-] Massenspeicher-Initialisierung
    [-] Entfernen der fest eingebundenen ROM-Datei und Laden über SD-Karte *
    [-] Floppy-Emulation über USB implementieren
    [-] Feinschliff und Fertigstellung von Chica OCS **
    [-] Start der Entwicklung von Chica ***

* Aktuell wird das Kickstart-ROM beim Kompilieren fest in den Kernel eingebunden, was eine öffentliche Veröffentlichung erschwert. Sobald das ROM von der SD-Karte geladen werden kann und vom Benutzer selbst bereitgestellt wird, kann Chica als Pre-Release veröffentlicht werden, um erste reale Tests zu ermöglichen.

** Chica OCS ist der erste vollständige Prototyp. Ziel ist ein System auf Basis eines 68000-Prozessors und OCS-Chipsatzes – vergleichbar mit einem Amiga 500 inklusive Erweiterungen wie einer Turbokarte. Es handelt sich dabei um eine bewusst reduzierte, gut beherrschbare Ausgangsbasis ohne AGA oder RTG.

*** Chica selbst ist als Weiterentwicklung von Chica OCS geplant. Hier kommen leistungsfähigere Komponenten zum Einsatz, wie ein 68040 (oder höher, sofern Moira dies künftig unterstützt), erweitertes Fast- und Chip-RAM, RTG-Grafik (Picasso96-kompatibel), Netzwerkkarte und weitere Erweiterungen.

Zurück


Die Geschichte von Chica

Genau genommen begann die Geschichte von Chica bereits irgendwo zwischen 1995 und 1996. Das war die Zeit, in der langsam klar wurde, dass für den Amiga so schnell keine neue Hardware mehr erscheinen würde, während im PC Bereich ständig neue Prozessoren, Grafikkarten und andere Entwicklungen angekündigt wurden.

Während viele Nutzer, gerade im BTX und in den damals noch jungen Internetforen, den Amiga hauptsächlich über seine Hardware definierten, habe ich den eigentlichen Kern des Systems immer eher im AmigaOS gesehen.

Auch in den klassischen Diskussionen darüber, was nun besser sei, PC oder Amiga, habe ich mich fast immer auf MS DOS, Windows und AmigaOS bezogen und deutlich seltener auf die eigentliche Hardware.

Natürlich war ich damals noch jung und durchaus optimistisch. Ein wenig Wunschdenken gehörte sicher ebenfalls dazu. Trotzdem war mir schon damals klar: Wenn das AmigaOS überleben soll, muss es weiterentwickelt und verbreitet werden. Die grosse Frage war nur, wie man ein Betriebssystem verbreiten soll, wenn die dazugehörige Hardware immer weiter zurückfällt.

Eines war für mich offensichtlich. Ein Betriebssystem verbreitet sich über Software. Software wird aber nur dann entwickelt, wenn es dafür einen Markt gibt. Und genau das wird schwierig, wenn selbst ein gutes Betriebssystem auf Hardware angewiesen ist, die technisch Jahr für Jahr weiter zurückfällt und von immer mehr Nutzern verlassen wird.

Schon damals entstand bei mir die Idee, man müsste das AmigaOS auf andere Hardware bringen, ohne das Betriebssystem selbst grundlegend verändern zu müssen.

Der Gedanke dahinter war, aus dem AmigaOS ein System zu machen, das seine grundlegende Hardware einfach mitbringt und gleichzeitig durch echte Hardware erweitert werden kann. Auch wenn die spezielle Hardware immer das Markenzeichen des Amiga war, wurde dieser Vorsprung nie wirklich gehalten oder ausgebaut. Stattdessen musste man zusehen, wie der PC immer weiter aufholte und es plötzlich selbst für ein in meinen Augen deutlich schlechteres Betriebssystem wie Windows bessere Software und Spiele gab.

Im Laufe der Zeit hatte ich viele Ideen. Damals hatte ich zum Beispiel NetBSD installiert und dachte mir: Hardwareunabhängig ist es ja bereits, also müsste man darauf doch irgendwie einen Emulator direkt beim Booten starten lassen können. Wirklich weit kamen diese Pläne allerdings nie.

Zwischen 2003 und 2004 endete dann meine aktive AmigaOS Zeit weitgehend. Ich hatte zwar einen DraCo, der für meine Zwecke nach wie vor hervorragend funktionierte, doch immer stärker zeigte sich, dass ich technisch mehr und mehr vom Umfeld abgehängt wurde.

Besonders bei Browsern und Internetstandards wurde deutlich, dass sich die moderne Entwicklung immer weiter von dem entfernte, was AmigaOS damals noch bieten konnte.

Danach wurde es lange still um das Thema AmigaOS in meinem Alltag. Ganz verschwunden war es allerdings nie. Irgendwo im Hinterkopf blieb die Begeisterung immer bestehen.

Dennoch konnte ich mich nie wirklich mit klassischen Emulatoren anfreunden. Irgendetwas fehlte mir dabei immer. Es fühlte sich einfach nicht wie ein echter Amiga an. Gleichzeitig war originale Hardware inzwischen so teuer geworden, dass ein spontaner Neukauf kaum noch realistisch war.

Trotzdem entging mir natürlich nicht, dass es mittlerweile wieder spannende Entwicklungen rund um den Amiga gab. Vampire Karten, die ZZ9000, PiStorm und viele andere Projekte zeigten, dass die Plattform noch lange nicht tot war.

Dazu kam dann noch AmigaOS 3.2, wodurch meine Begeisterung endgültig zurückkehrte. Ich kaufte es mir, begann wieder damit zu experimentieren und machte schliesslich auch Videos darüber. Einige davon findet man heute hier auf der Seite.

Ja, vieles funktionierte inzwischen erstaunlich gut und machte mir wieder richtig Spass. Trotzdem blieb bei mir immer dieses Gefühl: Es ist nicht wirklich ein Amiga. Es läuft unter Linux auf moderner Desktop Hardware und fühlt sich dadurch irgendwie falsch an.

Also stellte sich erneut die Frage: Geht das nicht auch anders?

Projekte wie Vampire oder MiSTer fand ich zwar extrem spannend, lagen aber gleichzeitig ausserhalb meines Budgets.

Ich experimentierte mit vielen Ideen. Unter anderem mit Diet Linux auf dem Raspberry Pi in Kombination mit Amiberry. Auch dazu existieren Videos auf dieser Seite. Aber selbst dort blieb immer dieses typische Emulator Gefühl bestehen.

Zwischenzeitlich kamen mir die unterschiedlichsten Gedanken. Einer davon war, die Custom Chips einfach mit Mikrocontrollern nachzubauen, sie über einen Bus miteinander zu verbinden und daraus einen eigenen Amiga kompatiblen Rechner zu entwickeln.

Theoretisch hätte das funktionieren können, aber der Aufwand wäre enorm gewesen und das Debugging vermutlich ein absoluter Albtraum.

Ich neige allerdings dazu, mich sehr lange an technischen Problemen festzubeissen. Deshalb entstand irgendwann die nächste Idee: Warum nicht einfach den Opcode des 68000 auf den ARM Prozessor des Raspberry Pi umsetzen?

Bare Metal, kein Host Betriebssystem, direkter Start in das System. Eigentlich klang das zunächst gar nicht so unrealistisch.

Bis ich genauer darüber nachdachte.

Mir wurde schnell klar, wie gigantisch der Aufwand tatsächlich wäre. Jahre an Arbeit nur für eine CPU Emulation und dazu kaum Möglichkeiten, das Ganze vernünftig zu testen.

Dann kam plötzlich die KI ins Spiel.

Eher aus Langeweile begann ich irgendwann damit, mit ChatGPT über meine Ideen zu sprechen. Dabei kam der Hinweis auf bestehende Projekte wie Musashi und Moira, die bereits Open Source Implementierungen des 68000 bereitstellen und sich möglicherweise als Grundlage eignen würden.

Genau das war letztendlich die eigentliche Geburtsstunde von Chica.

Zurück


Videos

Chica - Ein Amiga-kompatibler Raspberry Pi YouTube

Zurück


Unterstützen

Wer möchte, der kann natürlich auch Projekt Hirnfrei unterstützen. Die Zuwendungen werden für neue oder weiterführende Projekte eingesetzt. Vielleicht der Kauf kommerzieller Software für Tests?