Retro-Chips selbst gemacht: Historische Hardware in FPGAs nachbilden

Till Harbaum

Playlists: '38c3' videos starting here / audio
We are aware of audio issues, especially during talks of day 1 (2024-12-27). Some talks have been released in a preview-version, but are still being worked on behind the scenes.

Retro-Computing ist heute die Domäne der bekannten Software-Emulatoren. Aber auch die ursprüngliche Hardware selbst kann und sollte dokumentiert und konserviert werden. Ich zeige, was es damit auf sich hat und wie man daheim mit moderatem Einsatz einen ganzen Retro-Computer nachbaut. Mit Hilfe von rekonfigurierbaren Chips klappt das auch weitgehend ohne Löten oder die allgegenwärtigen Arduinos und Raspberry-Pis.

Der Begriff Maker ist inzwischen eng mit den Arduinos und dem Raspberry-Pi verbunden. Auch wenn es um den Erhalt historischer Systeme geht sind Nachbauten in Form von Emulatoren auf Raspi-Basis ganz vorne dabei. Das ist verständlich, wenn man sieht wie preisgünstig diese Geräte sind, wie viele entsprechende Retro-Projekte
es gibt und wie einsteigerfreundlich sie sich meistens nutzen lassen.

Aber neben der klassischen Software gibt es mehr zu erhalten: Die historische Hardware lässt sich leider nicht mal eben auf einen USB-Stick kopieren. Und mit den alten Geräten geht auch das Wissen dahinter verloren und die oft eleganten oder trickreichen Lösungen, die in der Anfangszeit nötig waren, um bezahlbare Hardware mit einfachsten Mitteln zu bauen.

Ich zeige, wie sich wesentliche Aspekte der Systeme mit Hilfe von konfigurierbarer Hardware erhalten und auf elegante Weise dokumentieren lassen. Ich zeige Euch, wie man mit geringem Materialeinsatz aber viel Neugierde Retro-Systeme in FPGA-Chips wieder zum Leben erweckt. Was braucht man? Wo bekommt man es her? Und wie wird daraus ein Heimcomputer der 80er? Das zeige ich unter anderem am konkreten Beispiel des NanoMig, der Nachbildung eines Commodore Amiga Homecomputer, dessen gesamte Hardware sich in einem modernen FPGA unterbringen lässt ... ganz ohne Arduino- oder Raspberry-Pi-Unterbau.

FPGA-Retrocomputing ist in den letzten zehn Jahren populär geworden. Auch das von mir vor gut zehn Jahren entworfene MiST-Board aber vor allem das darauf folgende MiSTer-Projekt hatten ihren Anteil daran. Diese Systeme werden oft als etwas fortschrittlichere Emulatoren (miss-)verstanden, hinter ihnen steckt aber vor allem eine als rekonfigurierbare FPGA-Hardware bezeichnete recht ungewöhnliche Technik abseits üblicher CPUs, Speicher- und Peripheriebausteine.

Auf die Geschichte und Hintergründe werde ich nur kurz eingehen. In diesem Vortrag soll es um die Praxis gehen. Ich werde beschreiben, was man an Hard- und an Software für die ersten Schritte auf dem Weg zur Wiederbelebung von Retro-Hardware benötigt. Wie es sich für Open-Source gehört muss man auch hier nicht das Rad immer wieder neu erfinden. So wie die damaligen Computer viele Gemeinsamkeiten hatten, so sind auch in ihren FPGA-Nachbauten viele Komponenten
wiederverwendbar. Aber wie wird aus einem realen Chip überhaupt etwas, das einen realen FPGA-Baustein zu gleichem Verhalten animiert? Wie wird die Logik beschrieben? Was lässt sich aus alten Hardwareunterlagen direkt übernehmen? Was lässt sich in FPGAs (leider) nicht mehr direkt realisieren?

Schließlich wird es darum gehen, wie man ein solches Projekt überhaupt angeht. Natürlich sind Klassiker wie der Commodore C64 oder der Amiga die verlockendsten Ziele für solche Vorhaben. Für die ersten Schritte eignen sich aber vor allem viele der einfacheren Maschinen oder sogar selbst erdachte Geräte. Ganz ohne Lötkolben verkabelt man sich den eigenen Retro-Computer und spätestens wenn der erste eigene Videochip das erste Testbild auf den VGA-Bildschirm bringt wird klar: Das ist
kein Arduino. Der Umgang mit konfigurierbare Hardware ist nicht unbedingt komplizierter als die Arbeit mit Arduino und Co. Aber sie ist fundamental anders. Viele Denkmuster, die erfahrenen Programmierern in Fleisch und Blut übergegangen sind, lassen sich nicht auf Hardware übertragen oder sind, wie sich zeigen wird, sogar
irreführend. Und wie debuggt man überhaupt einen selbstgebauten Chip? Und was wird aus Fernseher und Floppy-Diskette, die damals zwingendes Zubehör waren?

Und wenn selbst der Mikroprozessor Teil der Konfiguration ist, dann kann man natürlich beliebige Änderungen vornehmen. Fehlte Dir damals dieser eine Befehl, der alles revolutioniert hätte? Hätte der Atari ST den Amiga ausgestochen, wenn er Hardware-Sprites unterstützt hätte? Probier es aus! Konfigurierbare Hardware bedeutet auch, dass alles veränderbar ist. Ein Dual-Core C64? Ein ZX81 mit Tonausgabe und Farbdarstellung? Warum nicht gleich der eigene 8-Bit-Wunschcomputer?

Und wem das alles noch viel zu einfach erscheint, der erfährt schließlich, wie er mit Hilfe von Platinenproduktion in Fernost und dem heimischen 3D-Drucker nicht nur Software und Hardware erhält, sondern gleich die ganze Maschine noch einmal zum Leben erweckt.

Am Ende meines kleinen Vortrags werdet ihr wissen, wie ihr Euer eigenes Retro-Projekt für kleines Budget startet und vielleicht mithelft, das Wissen hinter der ursprünglichen Hardware zu erhalten. Ihr lernt, wie man die ein oder andere Maschine wieder in einer Form erlebbar macht, die über die übliche Softwareemulation auf einem PC hinausgeht.

Licensed to the public under http://creativecommons.org/licenses/by/4.0

Download

These files contain multiple languages.

This Talk was translated into multiple languages. The files available for download contain all languages as separate audio-tracks. Most desktop video players allow you to choose between them.

Please look for "audio tracks" in your desktop video player.

Embed

Share:

Tags