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 and 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 or Apple macOS 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

Xcpc

Latest release
0.52.1

RUN

FEATURES

Here is a non-exhaustive list of supported features:

  • A complete Gtk+-3.x user interface.
  • Full X11 with XShm extension.
  • No Wayland support but runs well under XWayland.
  • 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 (up to two hardware joysticks).
  • CPU: full support of the Z80 with documented and undocumented instructions.
  • VGA: full support of the Video Gate Array 40007/40008/40010.
  • VDC: full support of the CRTC 6845.
  • PPI: full support of the PPI 8255.
  • PSG: full support of the AY-3-8912.
  • FDC: full support of the FDC 765A.

REQUIREMENTS

Xcpc requires an X11 server and the Gtk+-3.x library.

REQUIRED LIBRARIES

The following libraries are mandatory.

libX11     X11 client-side library
libXext    X11 extensions library
libgtk-3   Gtk+-3.x widget set, version 3.x.

OPTIONAL LIBRARIES

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

zlib       Compression library with zlib algorithm.
libbz2     Compression library with bz2 algorithm.