Citer : A cycle-stepped Amstrad CPC 464/6128 emulator written in C with SDL3. Status- Boots to Locomotive BASIC. Commercial games and standard software run well. Demos and other software that rely on undocumented hardware behaviour or cycle-exact CRTC tricks are untested and may not work correctly.
- HDCPM / CP/M+ boots from FAT-formatted SYMBiFACE II / Cyboard IDE drives, mounting up to four CPMDSKxx.IMG images as CP/M drives A–D with the M: ramdisk, ZCPR shell, and SYMBiFACE RTC sync. SymbOS desktop runs on both Albireo (USB / CH376) and Cyboard (Net4CPC + RTC + SYMBiFACE IDE).
- M4 board emulation is partial. The ROM signature, FAT file API, single-image SAVE/LOAD/CAT, DNS resolution, and TCP connect plus the cpc-sdcc network examples (TCPTEST, NTP, TELNET, WGET) all work. SymbOS's netd-m4c.exe launches, resolves hosts, and HTTP downloads via wget complete end-to-end. SymbOS interactive telnet sessions stall shortly after the initial server banner — the same stall is observed on real Net4CPC hardware, so this appears to be a SymbOS-side limitation rather than an emulator bug.
Features- Core machine — Z80 CPU (full documented set + undocumented IX/IY half-register ops), MC6845 CRTC, AY-3-8912 PSG (tone, noise, envelope), 8255 PPI, Gate Array with all 32 hardware colours, configurable RAM 64–1024 KB (DK'tronics + Yarek banking), 32 expansion ROM slots, F8 memory monitor + Z80 disassembler with breakpoints.
- Media — DSK images via µPD765 FDC (drive A + B), AMSDOS file loading, .cdt / TZX cassette tape decoder with audio mixed into PSG output, AMSDOS-headed ROM auto-unwrap.
- Input — keyboard, host-clipboard paste, USB/Bluetooth joystick and gamepad with hot-plug.
- Capture — F4 still-screenshot (.ppm), F6 GIF screen-recording (in-tree LZW encoder, no dependencies), and WebM/VP9 recording via ffmpeg (optional, detected by ./configure) — YouTube-native.
- Extensions — DDI-1 floppy interface (464), DS12887 RTC (Cyboard / SYMBiFACE II), SYMBiFACE II / Cyboard IDE (FAT16/FAT32 disk images), SYMBiFACE II PS/2 mouse, Albireo USB mass-storage (CH376 host controller, driven by UNIDOS), Net4CPC Ethernet (W5100S) with one-click TAP backend on Linux — auto-creates the tap device, runs a built-in DHCP server, DNS proxy, and NAT to the host network. The CPC is fully on the LAN: pingable from the host, accepts inbound connections, and DHCP works end-to-end (verified in HDCPM + SymbOS), Amstrad Diagnostics ROM as a one-click toggle. Per-board ROM groupings (Ins in the ROM Slots menu) tag each slot with the boards that need it — M4 / Albireo / Cyboard — so enabling a board auto-loads its ROMs and cached disk image; disabling clears them. No re-prompt for paths between sessions.
Supported platforms- Linux (x86_64) Tested daily; Fedora RPM provided
- Windows (MinGW-w64) Tested under Wine and on native Windows 7+; CI-built .exe bundle
- NetBSD Builds and runs from pkgsrc
- OpenBSD Builds and runs
- macOS Builds and runs
- Haiku (32-bit nightly) Builds and runs
- FreeBSD Builds and runs
url/src: https://github.com/salvogendut/1984
|