Neuigkeit
PiStudio: eine IDE für den Amstrad CPC, angetrieben von einem Raspberry Pi
Ich arbeite seit einiger Zeit an einem persönlichen Projekt namens PiStudio.
Es ist eine neue Entwicklungsumgebung, die auf einem Raspberry Pi läuft und über das CPC-CPLINK von Revaldinho mit einem Amstrad CPC verbunden wird.



PiStudio verwandelt den CPC in eine Entwicklungsstation, an der sich programmieren, übersetzen, debuggen, Dateien verwalten und Git-Repositories erkunden und pflegen lassen — alles direkt über Tastatur und Bildschirm des CPC (in voller Overscan-Auflösung von 92x32 Zeichen). Sie ist um eine Reihe integrierter Werkzeuge herum gebaut, die nahtlos zusammenarbeiten, mit einer gemeinsamen Zwischenablage, einer einheitlichen Oberfläche und der Möglichkeit, Dokumente anwendungsübergreifend zu öffnen. Sie ist darauf ausgelegt, vollständig offline zu laufen, wobei einzelne optionale Funktionen eine Netzwerkverbindung nutzen.
Im Kern ist die Idee einfach: Der Pi erledigt im Stillen die ganze schwere Arbeit, während der CPC ein reaktionsschnelles Front-End bleibt. Das Ganze fühlt sich natürlich und authentisch an — man arbeitet an seinem CPC, nur mit Fähigkeiten, die sich 1985 nach Science-Fiction angefühlt hätten!
Texteditor



Der Editor ist das Herz von PiStudio. Er ist ein vollwertiger Code-Editor, zugeschnitten auf die Entwicklung, aber ebenso tauglich für jede beliebige Textdatei.
Wichtige Funktionen:
- Mehrere offene Dokumente mit Navigation wie über Reiter
- Geteilte Ansicht (waagerecht oder senkrecht), um zwei Dateien nebeneinander zu vergleichen oder zu bearbeiten
- Suchen & Ersetzen in der aktuellen Datei oder im gesamten Projekt
- Lesezeichen für schnelles Springen zwischen bevorzugten Dateien
- Unscharfe Dateisuche, um eine Datei sofort über ihren Namen zu finden
- Die aktive Datei oder eine festgelegte Hauptdatei mit einem einzigen Tastenkürzel übersetzen. Das Binary lässt sich in den Speicher des CPC übertragen und ausführen.
- Unterstützt werden die Entwicklungssprachen und -werkzeuge Locomotive BASIC, RASM und der SDCC-C-Compiler
- Code Inspector: Zugriff auf Variablen und Funktionen beim Bearbeiten der Quelldateien (ASM, BASIC und C werden unterstützt)
- Unbegrenzte UNDO/REDO-Zwischenablagehistorie
- Taschenrechner-Dialog mit Hex-/Dezimal-Umrechnung
- ASCII-/Zeichentabelle (CPC-Glyphen)
- Rechtschreibprüfung in mehreren Sprachen
- KI-gestütztes Übersetzungswerkzeug
- Automatische Formatierung für ASM-Dateien
- Zeilenumbruch, einstellbare Tabulatorbreite
- Druckerunterstützung
- Vollständige Sitzungswiederherstellung: geöffnete Dateien, Cursorpositionen, Zustand der geteilten Ansicht usw. werden beim nächsten Start alle wiederhergestellt
Debugger



Der Debugger erlaubt es, Programme, die auf der echten CPC-Hardware laufen, in Echtzeit zu untersuchen und schrittweise auszuführen. Wenn Ihr Programm auf einen Haltepunkt trifft (BRK-Befehl), erfasst der CPC-Client den vollständigen Z80-Zustand (vorerst mit teilweiser Unterstützung des Gate Array) und schickt ihn an PiStudio.
Wichtige Funktionen:
- Emulierter Z80
- Vollständige Ansicht der Z80-Register einschließlich aller Alternativregister
- Erkennung des Gate-Array-Zustands (ROM-Auswahl, RAM-Banking), damit stets klar ist, was an welcher Adresse eingeblendet ist
- Disassembler-Bereich mit Navigation über den PC oder eine manuell eingegebene Adresse
- Speicherauszug-Bereich (vollständiger 64-KB-Adressraum)
- Step into, Step over, Step return, Continue, Bis zum Cursor ausführen
- Einbindung der Symboldateien von RASM / SDCC (Labels werden aufgelöst und im Disassembler angezeigt und lassen sich über ihren Namen suchen)
- Schneller Zugriff auf den ursprünglichen ASM- oder C-Quellcode zur aktuellen Stelle im Disassembler
- NOP-Zähler für taktgenaues Timing und Profiling
- Speichervisualisierung
- Text- und Hex-Suche über den gesamten Speicher
- Binärdaten aus Dateien einlesen und in Dateien schreiben
- Disassembler-Listings ausgeben
Hex-Editor


Ein eigener Binäreditor für die Arbeit mit rohen Datendateien, Diskettenabbildern oder Speicherauszügen.
Wichtige Funktionen:
- Hex- und ASCII-Anzeige nebeneinander
- Einfüge- und Überschreibmodus
- Auswahl mit laufender Anzeige von Länge und Prüfsumme
- Ausschneiden, Kopieren, Einfügen
- Binärblöcke einlesen und ausgeben
- Text- und Hex-Suche mit Ersetzen
- Direkte Navigation über den Offset
- Unterstützung der geteilten Ansicht
- Rückgängig/Wiederherstellen
- Druckerunterstützung
Dateimanager



Ein zweispaltiger Dateibrowser, der den Zugriff auf den Dateispeicher des Pi, die physischen Diskettenlaufwerke des CPC und entfernte PiStudio-Instanzen im Netzwerk unter einem Dach vereint.
Unterstützte Laufwerke:
- PI: der PiStudio-Dateispeicher auf dem Pi
- A: und B: die physischen Diskettenlaufwerke des CPC
- Rechnername: im LAN gefundene entfernte PiStudio-Instanzen
Wichtige Funktionen:
- Zweispaltige Anordnung, um bequem zwischen Orten zu kopieren oder zu verschieben
- Vollständige UniDOS-Unterstützung für erweiterte Dateisystemoperationen (lange Dateinamen, Unterverzeichnisse, moderne Speichergeräte)
- Ordner anlegen, umbenennen, kopieren, verschieben, löschen
- Dateien über ein Stichwortmuster auswählen
- Versteckte Dateien ein- und ausblenden, einstellbare Spalten (Größe, Datum, Uhrzeit), Sortierung nach Name/Größe/Datum
- Lesezeichen für häufig benutzte Verzeichnisse
- Unscharfe Dateisuche
- Dateien direkt im Texteditor oder im Hex-Editor öffnen
- DSK-Diskettenabbilder anlegen (mit der Möglichkeit, hineinzunavigieren, ohne sie zu öffnen)
- ZIP-Archive anlegen (mit der Möglichkeit, hineinzunavigieren, ohne sie zu öffnen)
- AMSDOS-Header untersuchen
- Shell-Unterstützung
Versionsverwaltung



Ein vollwertiges Git-Front-End, ausgelegt auf tastaturgesteuertes Arbeiten.
Wichtige Funktionen:
- Repositories anlegen, öffnen, klonen
- Zuletzt benutzte Repositories öffnen
- Änderungen im Arbeitsverzeichnis und die vollständige Commit-Historie ansehen
- Diff-Ansicht nebeneinander
- Zeilenweise Diff-Ansicht mit Zeilenumbruch
- Einzelne Dateien oder alle Änderungen zum Commit vormerken und wieder zurücknehmen
- Änderungen verwerfen
- Mit einer Nachricht committen
- Commits rückgängig machen
- Auf den neuesten Stand bringen (Sync/Pull)
- Auf eine bestimmte Revision zurücksetzen
- Zum Remote pushen
Chatbot / Code-Assistent


Ein KI-gestützter Assistent, eingebaut in PiStudio, der sowohl OpenAI (ChatGPT) als auch Anthropic (Claude) als Anbieter unterstützt.
Wichtige Funktionen:
- Neue Gespräche beginnen oder frühere fortsetzen
- Gesprächsverlauf mit Speichern/Laden
- Anbieterkonfiguration (API-Schlüssel, Modellauswahl)
- Geteilte Ansicht
- Nützlich für schnelle Code-Analysen, Verbesserungen an Algorithmen oder allgemeine Programmierhilfe –
ohne jemals die IDE zu verlassen. Er kann außerdem Ihren Code automatisch kommentieren, Umbenennungen von Labels vorschlagen, ganze Dokumente übersetzen, neue Dateien mit KI-erzeugtem Inhalt anlegen und so weiter.
Der Chatbot ist auch als Werkzeugdialog aus dem Texteditor heraus erreichbar.
Entwicklerhandbuch



Ein umfassendes, vollständig offline verfügbares Nachschlagewerk zu allem rund um den Amstrad CPC. Die Artikel sind über Hyperlinks miteinander verknüpft. Es ist eine gewaltige eingebettete Wissensbasis, gegliedert in durchsuchbare, redigierte Artikel (bis heute rund 3 MB unkomprimierter Text).
Zu den Inhaltskategorien gehören:
- Erste Schritte: Wählen Sie Ihren Weg: BASIC, Z80-Assembler oder C
- Geschichte & Kultur: CPC-Zeitleiste, bedeutende Software, Gemeinde, Vergleiche mit 8-Bit- und 16-Bit-Rechnern und mehr
- Amstrad-CPC-Handbuch: das vollständige Benutzerhandbuch, für das schnelle Nachschlagen neu aufbereitet
- Software-Handbücher: RASM, Maxam, DAMS, Orgams, Protext, Utopia, Starkos, Soundtrakker, OCP, Discology und mehr
- Locomotive BASIC: vollständiges Tutorial, Schlüsselwortreferenz, Token-Tabelle, Fehlermeldungen, Optimierungstipps
- C-Programmierung: SDCC für den CPC: Syntax, Datenstrukturen, Beschränkungen eingebetteter Systeme, Optimierung, Einbindung in PiStudio
- Hardware: Z80-CPU, CRTC, Gate Array, PPI, AY-3-8912, FDC, ASIC, Peripherie, Multiface 2, M4 Board, UniDOS, CPC-CPLink
- Firmware & Speicherbelegung: Firmware-Vektoren, Speicheraufteilung, Adressraum nach Modell
- Z80-Assemblerprogrammierung: Tutorial (vom Anfänger bis zum Experten), Adressierungsarten, Interrupts, Optimierung, NOP-Timing
- Algorithmen & Datenstrukturen: Sortieren, Suchen, Komprimieren, Festkommaarithmetik, Trigonometrie
- Dateien & Speicherung: Dateitypen, Diskettenformate, die Abbildformate DSK/SNA/CDT/CPR, Schnelllader
- Grafikprogrammierung: 2D-/3D-Grafik, Bildschirmeffekte, Rotation, Projektion
- Soundprogrammierung: Programmierung des AY-Chips, Musikplayer, Digidrums, Klangeffekte, Anbindung an Tracker
- Spieleentwicklung: Sprite-Engines, Kachelkarten, Physik, KI, Entity-Systeme
- Demomaking-Techniken: Raster, Rupturen, Overscan, Plasma, Sternenfeld, Feuer, Modus-Mischung
- Tipps & Kniffe: Geschwindigkeitsoptimierung, Fehlersuche, Kompatibilität, nützliche PEEKs/POKEs
- Quellcode-Sammlungen: Z80-Assemblerquelltexte von Mitgliedern der Gemeinde
- Volltextsuche (Strg+F) über sämtliche Inhalte
Einstellungen

![]()

Und schließlich eine systemweite Konfiguration für PiStudio.
Einstellbare Optionen:
- WLAN-Einrichtung
- Druckerkonfiguration (LAN)
- API-Schlüssel für den Chatbot
- Git-Benutzer und Zugangsdaten
- Anpassung des Farbschemas
- Anzeigeeinstellungen
Ein paar Worte zum CPC-Client
Auf der Client-Seite läuft ein kompaktes Z80-Assemblerprogramm (als ROM oder auf Diskette verfügbar), das:
- den CPC für eine bildschirmfüllende IDE-Anzeige in den Modus 2 mit Overscan schaltet
- die Tastaturmatrix des CPC ausliest und Tastenereignisse an den Pi schickt
- Hardware-Tastaturkonflikte automatisch erkennt und auflöst
- Bildschirmaktualisierungen als Zeichen-Differenzen empfängt (aus Geschwindigkeitsgründen werden nur geänderte Zellen übertragen)
- Haltepunkt-Fallen behandelt: Trifft ein laufendes Programm auf einen BRK-Befehl, erfasst der Client sämtliche Z80-Register, den Zustand des Gate Array und einen vollständigen 64-KB-RAM-Auszug und gibt die Kontrolle dann an den Debugger von PiStudio zurück
- die Dateiein- und -ausgabe über AMSDOS-Firmware-Aufrufe zum Lesen und Schreiben auf CPC-Diskettenlaufwerken abwickelt
- UniDOS-RSX-Befehle für moderne Speichergeräte unterstützt
- eine robuste Zeitüberschreitungsbehandlung und automatische Wiederverbindung mitbringt, falls die Verbindung zum CPC-CPLINK abreißt
- Debugging steht beim Betrieb von Diskette nicht zur Verfügung
Verfügbarkeit
Dieser Beitrag ist nur eine Ankündigung. PiStudio steht in seinem jetzigen Zustand zwar schon recht solide da, aber ich möchte zuerst ein richtiges persönliches Projekt damit abschließen und mir die nötige Zeit nehmen, das Ganze zu verfeinern und zu verbessern.
Um den Vertrieb einfach zu halten, wird PiStudio als Datenträgerabbild erscheinen, das auf eine SD-Karte für den Raspberry Pi geschrieben wird.
Schlussworte
Ich möchte Rabs danken, der mich ursprünglich auf das Projekt CPC-CPLink hingewiesen hat, und TotO, der beim Entwurf von PiStudio wie immer eine unversiegbare Quelle von Anregungen und Ratschlägen war.
Bleiben Sie dran!