Xcpc emulator

Amstrad CPC emulator

Welcome to the official site of Xcpc emulator


Xcpc is a portable Amstrad CPC 464/664/6128 emulator written in C. It is designed to run on any POSIX compliant system having an X11 server, including Linux, BSD and Unix.

Note there is absolutely no support for Microsoft Windows operating systems and there never will be. Please do not ask me to add such functionality.

Xcpc is designed to emulate classic range of the Amstrad CPC systems:

The Amstrad CPC+ range and the GX4000 console are not currently emulated and likely will not be.



Latest release



Here is a non-exhaustive list of supported features:

  • A simple X11 Intrinsic user interface.
  • A complete Athena user interface.
  • A complete Motif-2x user interface.
  • A complete Gtk+-3.x user interface.
  • Full X11 with XShm extension.
  • Adaptative frame-rate.
  • Full Floppy disk images support (.dsk).
  • Full snapshot support (.sna).
  • Drag and Drop support (.dsk, .sna).
  • Keyboard emulation (qwerty, azerty).
  • Joystick emulation with the numeric keypad when numlock is disabled.
  • Joystick emulation by pressing the « Home » or « End » key (then use arrows + left-ctrl + left-alt).
  • Joystick support under Linux (up to two hardware joysticks).
  • CPU: Z80 with full documented and undocumented instructions.
  • VGA: Video Gate Array 40007/40008/40010, complete support.
  • VDC: CRTC 6845, almost complete full support.
  • PPI: PPI 8255, almost complete full support.
  • PSG: AY-3-8912, partial support (actually no sound is produced).
  • FDC: FDC 765A, complete support.

The emulator lacks some features. Here is a list of the most wanted features:

  • Sound support.
  • Wayland support.
  • A Qt user interface.
  • A built-in assembler.
  • A built-in debugger.


Xcpc requires an X11 server and either the X Toolkit Intrinsics or the Gtk+ library.

The user interface is selected at compilation time and can be either Intrinsic, Athena, Motif-2.x or Gtk+-3.x.

Note: although Xcpc can use Gtk as frontend, the Wayland graphics server is not yet supported but is planned.


The following libraries are mandatory.

libX11     X11 client-side library
libXext    X11 extensions library


Theses libraries are optional and you have to select one of them. We recommand you to install the Gtk+-3.x library.

libXaw     Athena widget set, version 6 or later.
libXm      Motif-2.x widget set, version 2.0 or later.
libgtk-3   Gtk+-3.x widget set, version 3.x.


Theses libraries are optional and are just for compressed disk images.

zlib       Compression library with zlib algorithm.
libbz2     Compression library with bz2 algorithm.
libXt      X11 toolkit intrinsics library, required by Intrinsic, Athena and Motif.
libXmu     X11 miscellaneous extensions library, required by Intrinsic, Athena and Motif.