wintermute-c64 — ein KI-Agent lernt Demo-Coding
wintermute-c64 verbindet zwei Welten, die auf dieser Website sonst getrennte Sektionen haben: einen modernen KI-Agenten und die 8-Bit-Maschine, an der für viele von uns alles angefangen hat.
Die Idee
wintermute-c64 ist ein spezialisierter Ableger meines persönlichen KI-Agenten wintermute — umgebaut für genau eine Aufgabe: Commodore-64-Programme in Assembler schreiben. Spiele, Demoszene-Effekte, VIC-II-Timing-Experimente, SID-Routinen, Sprite-Multiplexer, Raster-IRQ-Ketten und kleine Tools, bei denen jeder Taktzyklus zählt.
Der Agent hat dafür eine eigene Persona bekommen: Dope, ein C64-Demoszene-Coder, aufgewachsen in der Szene der späten Achtziger rund um die deutsche Gruppe Dynamix — Hardware-Instinkte von 1985, verpackt in einen containerisierten Agenten-Workflow von heute.
Die Toolchain: echt, nicht simuliert
Der entscheidende Punkt des Projekts: Dope redet nicht nur über C64-Code, er baut und testet ihn wirklich. Im Gateway-Container stecken die Werkzeuge einer echten Cross-Development-Umgebung:
- ACME als Cross-Assembler — aus
main.asmwird ein lauffähiges PRG. - Exomizer zum Crunchen — weil Speicherplatz auf 64 Kilobyte eine harte Währung ist.
- VICE/x64sc, headless über Xvfb — der Emulator läuft im Container und liefert Screenshots zurück.
- Dazu SID-Werkzeuge für Analyse und Relokation von Musik-Routinen.
Der Entwicklungs-Loop sieht so aus: Code im Browser-Workbench editieren, mit ACME bauen, optional crunchen, in VICE laufen lassen — und dann Build-Log, Laufzeit-Metriken und den Screenshot ansehen, bevor Dope die nächste Revision schreibt. Der Agent bekommt also dasselbe Feedback wie ein menschlicher Coder: Läuft es? Flackert es? Stimmt das Timing?
Die Wissensbasis: kuratiert statt halluziniert
C64-Programmierung ist ein Minenfeld für Sprachmodelle — die Trainingsdaten sind voll von halbrichtigen Registertabellen und Forenmythen. Deshalb hat Dope eine kuratierte Wissensbasis: geprüfte Notizen zu CPU, VIC-II, SID, Speicherkarte, Demo-Techniken und Toolchain, versioniert im Repository, mit dokumentierten Quellen (u. a. das Pagetable-c64ref-Projekt, der C=Hacking-Archivbestand und die Codebase64-Klassiker).
Die Regel dahinter ist dieselbe wie bei allen meinen Agenten-Projekten: Die Dateien im Repository sind die Quelle der Wahrheit. Der Vektorindex (eine dedizierte Qdrant-Collection) ist nur ein abgeleiteter Suchindex, der jederzeit aus den geprüften Notizen neu aufgebaut werden kann. Aktueller Stand der redistributierbaren Basis: 40 Quellen, 159 Chunks.
Einen strukturierten Spaziergang durch diese Wissensbasis gibt es in den Retro-Notizen.
Stand der Dinge
Das Fundament steht: validierte Beispiel-Fixtures für Opcodes und Adressierung, IRQ- und Raster-Grundlagen, VIC-II, SID, Sprites, Zeichensätze und Bildschirmtext — bis hin zum ersten kombinierten Effekt: eine IRQ-Rasterbar plus D016-Smooth-Scroller in einem lauffähigen ACME-Programm. Als Nächstes stehen die klassischen Demo-Disziplinen auf dem Plan, von Plasma über Starfields bis zu FLI.
Über nennenswerte Meilensteine — und die unvermeidlichen Timing-Debugging-Geschichten — schreibe ich hier im Rechenwerk.