NoRecess
  • News
  • Productions
  • Articles

PiStudio: a Raspberry Pi-powered IDE for the Amstrad CPC

3/29/2026

 
I've been working on a personal project for some time now called PiStudio.
It's a new development environment that runs on a Raspberry Pi and connects to an Amstrad CPC through the CPC-CPLINK from Revaldinho.
PiStudio transforms the CPC into a development workstation where you can code, compile, debug, manage files, and explore/maintain Git repositories, all directly from the CPC's keyboard and screen (in a full-overscan 92x32 character resolution). It's built around a suite of integrated tools that work seamlessly together, featuring a shared clipboard, a unified interface and the ability to open documents across applications. It's designed to run entirely offline, with certain optional features leveraging network connectivity.

At its core, the idea is simple: the Pi quietly handles all the heavy work, while the CPC remains a responsive front-end. The experience feels natural and authentic, you are working on your CPC, just with capabilities that would have felt like science fiction back in 1985!

Text Editor

The editor is the heart of PiStudio. It's a full-featured code editor tailored for development, but equally capable for any text file.

Key features:
  • Multiple open documents with tab-like navigation
  • Split-view editing (horizontal or vertical) to compare or edit two files side by side
  • Find & Replace in current file or across the entire project
  • Bookmarks for quick navigation between favorite files
  • Fuzzy file finder for instant file lookup by name
  • Compile the active file or a designated main file with a single shortcut. Its binary can be streamed to the CPC's memory and executed.
  • The supported development languages/toolkits are Locomotive BASIC, RASM and SDCC C Compiler
  • Code Inspector: access your variables/functions when editing the source files (ASM, BASIC and C are supported)
  • Unlimited UNDO/REDO Clipboard history
  • Calculator dialog with hex/decimal conversion
  • ASCII/character table (CPC glyphs)
  • Multi-language Spell checking
  • AI-powered Translation tool
  • Auto-formatting for ASM files
  • Word wrap, configurable tab width
  • Printer support
  • Full session persistence: opened files, cursor positions, split state etc. are all restored on next launch

Debugger

The debugger provides real-time inspection and stepping of programs running on the actual CPC hardware. When your program hits a breakpoint (BRK instruction), the CPC client captures the full Z80 state (with partial Gate Array support for now) and sends it to PiStudio.

Key features:
  • Emulated Z80
  • Full Z80 register view including all alternate registers
  • Gate Array state detection (ROM selection, RAM banking) so you always know what's paged in at any address
  • Disassembly panel with navigation by PC or manual address
  • Memory dump panel (full 64 KB address space)
  • Step into, step over, step return, continue, run to cursor
  • RASM / SDCC symbol file integration (labels are resolved and displayed in the disassembly  and can be searched by name)
  • Quick access to the original ASM or C source code corresponding to the current disassembly location
  • NOPs counter for cycle-accurate timing/profiling
  • Memory visualizer
  • Text and hex search across memory
  • Import/export binary data to and from files
  • Export disassembly listings

Hex Editor

A dedicated binary editor for working with raw data files, disk images or memory dumps.

Key features:
  • Hex + ASCII side-by-side display
  • Insert and overwrite modes
  • Selection with live length and checksum display
  • Cut, copy, paste
  • Import/export binary blocks
  • Text and hex search with replace
  • Direct offset navigation
  • Split-view support
  • Undo/redo
  • Printer support

File Manager

A dual-pane file browser that unifies access to the Pi's file store, the CPC's physical disc drives and remote PiStudio instances on the network.

Supported drives:
  • PI: the PiStudio file store on the Pi
  • A: and B: the CPC's physical disc drives
  • hostname: remote PiStudio instances discovered on the LAN

Key features:
  • Dual-pane layout for easy copy/move between locations
  • Full UniDOS support for extended file system operations (long filenames, subdirectories, modern storage devices)
  • Create folders, rename, copy, move, delete
  • Select files by keyword pattern
  • Toggle hidden files, configurable columns (size, date, time), sort by name/size/date
  • Bookmarks for frequently accessed directories
  • Fuzzy file finder
  • Open files directly in the Text Editor or Hex Editor
  • Create DSK disc images (with the ability to navigate into them without opening)
  • Create ZIP archives (with the ability to navigate into them without opening)
  • Inspect AMSDOS headers
  • Shell support

Source Control

A full Git front-end designed for keyboard-driven workflows.

Key features:
  • Initialize, open, clone repositories
  • Open recent repositories
  • View working tree changes and full commit history
  • Side-by-side diff viewer
  • Line-by-line diff viewer with word wrap
  • Stage/unstage individual files or all changes
  • Discard changes
  • Commit with message
  • Revert commits
  • Sync/pull to latest
  • Reset to a specific revision
  • Push to remote

Chatbot / Code Assistant

An AI-powered assistant built into PiStudio, supporting both OpenAI (ChatGPT) and Anthropic (Claude) as providers.

Key features:
  • Start new conversations or resume previous ones
  • Conversation history with save/load
  • Provider configuration (API keys, model selection)
  • Split-view layout
  • Useful for quick code analysis, algorithm improvements or general programming help --
without ever leaving the IDE. It can also auto-comment your code, suggest label renaming,
translate entire documents, generate new files with AI-generated content, etc.

The Chatbot is also accessible as a tool dialog from within the Text Editor.

Developer Guide

A comprehensive, fully offline reference encyclopedia covering all things Amstrad CPC. Articles are linked together through hyperlinks. This is a massive embedded knowledge base organized into searchable, reviewed articles (about 3MB of uncompressed text to this day).

Content categories include:
  • Getting Started: choose your path: BASIC, Z80 assembly, or C
  • History & Culture: CPC timeline, notable software, community, comparisons with 8-bit & 16-bit computers and more
  • Amstrad CPC Manual: the full user manual, reformatted for quick reference
  • Software Manuals: RASM, Maxam, DAMS, Orgams, Protext, Utopia, Starkos, Soundtrakker, OCP, Discology, and more
  • Locomotive BASIC: complete tutorial, keyword reference, token table, error messages, optimization tips
  • C Programming: SDCC for the CPC: syntax, data structures, embedded constraints, optimization, PiStudio integration
  • Hardware: Z80 CPU, CRTC, Gate Array, PPI, AY-3-8912, FDC, ASIC, peripherals, Multiface 2, M4 Board, UniDOS, CPC-CPLink
  • Firmware & Memory Map: firmware vectors, memory layout, address space by model
  • Z80 Assembly Programming: tutorial (beginner to expert), addressing modes, interrupts, optimization, NOPs timing
  • Algorithms & Data Structures: sorting, searching, compression, fixed-point math, trigonometry
  • Files & Storage: file types, disc formats, DSK/SNA/CDT/CPR image formats, fast loaders
  • Graphics Programming: 2D/3D graphics, screen effects, rotation, projection
  • Sound Programming: AY chip programming, music players, digidrums, sound effects, tracker integration
  • Game Development: sprite engines, tile maps, physics, AI, entity systems
  • Demomaking Techniques: rasters, ruptures, overscan, plasma, starfield, fire, mode mixing
  • Tips & Tricks: speed optimization, debugging, compatibility, useful PEEKs/POKEs
  • Source Code Collections: Z80 assembly source code from community members
  • Full-text search (Ctrl+F) works across all content

Settings

And finally, a System-wide configuration for PiStudio.

Configurable options:
  • WiFi setup
  • Printer configuration (LAN)
  • API keys for the Chatbot
  • Git user and credential configuration
  • Color theme customization
  • Display preferences

Few words about the CPC Client

The client side runs a compact Z80 assembly program (available as ROM or disc formats) that:
  • Switches the CPC to Mode 2 overscan for a full-screen IDE display
  • Reads the CPC keyboard matrix and sends key events to the Pi
  • Hardware keyboard clash are automatically detected and resolved
  • Receives screen updates as character diffs (only changed cells are transmitted, for speed)
  • Handles breakpoint traps: when a running program hits a BRK instruction, the client captures all the Z80 registers, the Gate Array state, and a full 64 KB RAM dump, then hands control back to PiStudio’s debugger
  • Manages file I/O through AMSDOS firmware calls for reading/writing to CPC disc drives
  • Supports UniDOS RSX commands for modern storage devices
  • Includes robust timeout handling and automatic reconnection if the link with the CPC-CPLINK gets interrupted
  • Debugging feature not available when running from disc

Availability

This post is just an announcement. While PiStudio is already quite solid in its current state, I want to complete a real personal project with it first, giving myself the necessary time to refine and improve the overall experience.

To keep the distribution simple, PiStudio will be released as a disk image to be written to a Raspberry Pi SD card.

Closing words

I want to thank Rabs who initially pointed me to CPC-CPLink project and TotO, who as usual has been a continuous source of inspiration and advice while designing PiStudio.

Stay tuned!

Comments are closed.

    Archives

    January 2025
    December 2024
    August 2024
    July 2024
    December 2023
    September 2023
    August 2023
    June 2023
    January 2023
    November 2021
    June 2021
    November 2020
    September 2020
    May 2020
    November 2019
    October 2019
    September 2019
    August 2019
    May 2019
    March 2019
    May 2018
    April 2018
    March 2018
    December 2017
    November 2017
    October 2017
    September 2017
    April 2017
    January 2017
    December 2016
    April 2015
    March 2015
    December 2014
    October 2014
    April 2014
    February 2014
    December 2013
    August 2013
    June 2013
    October 2012
    September 2012
    August 2012
    June 2012
    May 2012
    February 2012
    December 2011
    October 2011
    September 2011
    July 2011
    May 2011
    April 2011
    March 2011
    February 2011
    January 2011

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • News
  • Productions
  • Articles