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.
Xcpc is designed to emulate classic range of the Amstrad CPC systems :
- Amstrad CPC 464 (v1).
- Amstrad CPC 664 (v2).
- Amstrad CPC 6128 (v3).
The Amstrad CPC+ range and the GX4000 console are not currently emulated and likely will not be.
Probably the most important missing feature at this point is support for sound output.
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 (.sna, .dsk, .dsk.gz, .dsk.bz2).
- 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 instructions and most 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.