AUS DER WERKSTATT · C / Z80
Vom C-Projekt zur Z80-IDE
Mein Z80-Projekt verbindet zwei Interessen: die überschaubare Welt eines klassischen Prozessors und das heutige Lernen mit C.
Ein eigenes Modell zum Verstehen
Der Z80-Simulator soll die Arbeitsweise des Prozessors nachvollziehbar machen. Befehle, Register, Speicher und Ein-/Ausgabe gehören dabei nicht getrennt nebeneinander, sondern müssen als zusammenhängendes System arbeiten.
Gerade diese Überschaubarkeit reizt mich. Ein kleiner Prozessor bietet einen klaren Rahmen: Jeder Befehl hat eine Aufgabe, jeder Speicherbereich eine Bedeutung und jeder Schritt lässt sich beobachten.
Mehr als ein Emulator
Aus dem Simulator ist nach und nach die Idee für eine eigene Entwicklungsumgebung entstanden. Zum Projekt gehören deshalb mehrere Bausteine:
- ein Emulator für die Z80-Befehle,
- Assembler und Programmausführung,
- Debugger und beobachtbare Register und Speicherbereiche,
- Ein- und Ausgabe sowie eine GTK-Oberfläche.
Jeder Baustein ist für sich verständlich. Zusammengenommen entsteht daraus eine Umgebung, in der sich ein Programm schreiben, ausführen und Schritt für Schritt untersuchen lässt.
Warum C dafür gut passt
C zwingt mich, die wichtigen Dinge sichtbar zu halten: Daten, Speicher, Funktionen und die Reihenfolge der Verarbeitung. Das passt zu meiner minimalistischen Arbeitsweise und zu dem Wunsch, möglichst nah an der Technik zu bleiben.
Die Oberfläche mit GTK ist dabei nur ein Teil des Projekts. Im Kern geht es um das Verständnis der Maschine und um saubere, überschaubare Bausteine.
Ein Projekt im Aufbau
Der Z80-Simulator und die IDE wachsen Schritt für Schritt. Nicht jeder Teil muss sofort perfekt sein. Wichtiger ist mir, dass ich jeden Baustein nachvollziehen und aus den eigenen Entscheidungen lernen kann.
Weitere Artikel können später einzelne Themen genauer beschreiben: den Emulator, den Assembler, den Debugger oder die Verbindung zwischen C-Code und GTK-Oberfläche.