Atari-ST(E) in a Chip

Atari Mega STE einmal anders verpackt: “Suska”

Wer kennt sie nicht die alten Tastaturkomputer von damals. Neben Altair, Commodore, Sinclair, Dragon, Tandy und anderen war da auch Atari mit seiner erfolgreichen ST-Serie. Dieses Projekt ist der Versuch die Hardware dieser Maschinen in ein FPGA zu implementieren. Dies erfolgt durch Erstellen der einzelnen Funktionsgruppen in der Programmiersprache VHDL. Das Ergebnis ist dann ein sogenannter IP Core (IP steht für Intelectual Property), eine abstrakte Beschreibung des gesamten Systems, die sich auf nahezu beliebige FPGA Bausteine implementieren lässt. Dieser IP Core ist übrigens nicht zu verwechseln mit einem Programm. Er beschreibt Hardware und wird daher als Konfiguration bezeichnet. Knackpunkte bei der Modellierung sind neben den Custom-Chips GLUE, MMU, Shifter, DMA natürlich auch die für damalige Verhältnisse leistungsfähige 68000 CPU von Motorola. Das Projekt befindet sich noch in einem frühen Alpha-Stadium. Wer Lust hat sich mit seinen VHDL-Kenntnissen einzubringen, der ist gerne willkommen. Die folgende Tabelle fasst den aktuellen Stand in etwa zusammen. Die hier angegebenen Zahlen beziehen sich auf einen ersten lauffähigen Entwurf mit allen Merkmalen des STE.

Angefangen hat es im Frühjahr 2003 mit dieser Hardware (die im übrigen Heute noch herangezogen wird). Links zu sehen: der GLUE ist ausgebaut und unter’m Messer.

Und da es langweilig ist, an einem einzigen Chip zu werkeln, wurde gleich noch der Shifter in Angriff genommen. Also ran mit Elan und …

Tja und so sahen die ersten Tests der Shifter Implementierung aus. Nicht gerade das, was man unter einer Hi End Videokarte versteht :)

Aber egal, nach vielen langen Abenden und einige Hektoliter Frust-Bier später ein erster Entwurf des Shifter IP Core, der Hoffen lässt:

Na also, hier mal ein Bild mit dem genialen SM124 monochrome Monitor. Der Shifter hat in etwa zweieinhalb Wochen gedauert, bis er in einer ersten Variante Erkennbares ausspuckte. Probleme gab es noch mit lateralem Bildversatz – ein Effekt, der erst 1,5 Jahre später beseitigt wurde.

Das Zusammenspiel zwischen GLUE, MCU und DMA erschien komplex. Speziell die DMA Einheit, deren Steuerung auf GLUE und MMU verteilt ist, kostete viel Geduld und Nerven. Während der Entwurfsphase mussten die verwendeten Floppy Disks an einem PC ungefähr 470 mal frisch formatiert werden, da die DMA Schreibzugriffe Kleinholz aus den Daten machten. Ebenso verhielt sich das mit der Festplatte (übrigens eine Megafile 60). Aber irgendwann war es geschafft und nach vielen erfolglosen Versuchen funktionierte jetzt ein Lesen, Schreiben und Formatieren auf Floppy und Festplatten anstandslos. Dieser erste Milestone wurde Anfang 2005 erreicht.

Dieses Bild zeigt die Arbeiten am DMA während dieser anstrengenden Entwicklungsphase. Ausgebaut sind hier MCU und DMA. An der DMA wird gearbeitet, die MCU ist soweit ok und der GLUE Chip noch zu buggy, um ihn durch den IP Core zu ersetzen.

Ab diesem Zeitpunkt wurde die komplette Implementation des Rechners in ein FPGA immer wahrscheinlicher. Spätere Arbeiten am Blitter, dem Shadow und dem Floppy Controller WD1772 gestalteten sich langwierig aber straight forward und lösbar. Der IP Core des Rechners mit allen unter ‘Projektfortschritt’ genannten Chips, ohne CPU, mündete im Juni 2006 in der ersten freigegebenen Version der VHDL Modellierung. Die erste öffentlich gemachte Versionsnummer ist 2K6A.