CLK

TomHarteMIT活跃维护

用 C++ 写的老式电脑与游戏机模拟器,覆盖 BBC Micro、Apple II、Amiga、ZX Spectrum 等几十种机型,主打低延迟,适合对时序敏感的场景。

A latency-hating emulator of: the Acorn Electron, BBC Micro and Archimedes, Amstrad CPC, Apple II/II+/IIe and early Macintosh, Atari 2600 and ST, ColecoVision, Enterprise 64/128, Commodore Vic-20 and Amiga, MSX 1/2, Oric 1/Atmos, early PC compatibles, Sega Master System, Sinclair ZX80/81 and ZX Spectrum, Tandy CoCo and Thomson MO5/6.

2026-07-23发布于 2026-07-23 20:57 UTC1,153star +1 / 7 天72fork同步于 2026-11-10 17:52 UTC

怎么上手

由 README 提炼,执行前请确认
macOS 与源码版本见 GitHub Releases;Linux 可安装 Snap 包:snap install clock-signal
硬件要求按 README 说明

README 未说明具体显存或 CPU 要求;macOS 上使用原生 Cocoa 与 Metal,Linux/BSD 等使用 OpenGL,可选用 Qt 或 SDL 构建。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一个追求低延迟、高信号保真度的多平台复古电脑与游戏机模拟器,双击即可运行经典软件

用 C++ 写的老式电脑与游戏机模拟器,覆盖 BBC Micro、Apple II、Amiga、ZX Spectrum 等几十种机型,主打低延迟,适合对时序敏感的场景。

核心能力

  • 双击磁盘、磁带或 ROM 自动识别机型并加载
  • 用 GPU 解码复合视频信号还原真实画面伪影
  • 按原机采样率生成音频再滤波降采样
  • 模拟带荧光衰减的 CRT 显示,帧率随显示器
  • 尝试对支持机型做周期精确模拟

容易踩的坑

Linux 构建需自行选择 Qt 或 SDL 后端;部分机型(Archimedes、Amiga、早期 PC 兼容机)模拟尚不完善;README 未说明是否需要额外下载 BIOS 或 ROM。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本2026-07-23
  1. 2026-07-23最新正式版2026-07-23 · 2026-07-23 20:57 UTC

    This release corrects a type error in changes made to the OpenGL code in 2026-07-20 that broke output for the CoCo, Master System, MSX and ColecoVision, affecting Qt and SDL targets.

    The macOS release is unchanged other than the version number.

  2. 2026-07-202026-07-20 · 2026-07-20 21:55 UTC
    查看更新说明

    This release:

    • resolves incorrect placement of data within a floppy disk track, potentially overwriting unrelated data, when any machine wrote two or more discontinuous regions during a single rotation;
    • corrects video output of the Apple II, Vic-20 and Atari 2600 for the OpenGL targets, i.e. SDL and Qt;
    • removes a half-second time skip at startup for all machines in Qt; and
    • improves and possibly entirely-resolves issues with audio output under Qt.

    All credit goes to @apenney for discovering, diagnosing and suggesting work on all of these. I can't guarantee I've yet succeeded in resolving all of his discoveries. Thanks!

  3. 2026-06-062026-06-06 · 2026-06-06 01:59 UTC
    查看更新说明

    This release improves parsing of Tandy CoCo CAS files.

  4. 2026-05-282026-05-28 · 2026-05-28 17:12 UTC
    查看更新说明

    This release adds a nascent emulation of the Tandy Colour Computer 1/2, which shares both the processor and peripheral interface adaptors of the Thomson MO5/6 and therefore increases my testing of those components, correcting bugs such as:

    • the 6809 and its timing of SYNC; and
    • the 6821 and the condition it applies for clearing interrupts.
  5. 2026-04-302026-04-30 · 2026-04-30 20:21 UTC
    查看更新说明

    This release fully introduces the Thomson MO6 as well as correcting some subtle race conditions affecting the 'Insert...' dialogue under macOS and initial display setup for the ST, MSX and Spectrum across all platforms.

    Here are the CPC and MO6 versions of MGT:

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitHubGitHub Release DateGitHub last commitGitHub repo size

    Clock Signal

    Clock Signal ('CLK') is an emulator that seeks to be invisible. Users directly launch classic software, avoiding the learning curves associated with emulators and with classic machines.

    macOS and source releases are hosted on GitHub. A Qt-based Linux build is available as a Snap.

    This emulator seeks to offer:

    • single-click load of any piece of source media for any supported platform;
    • with a heavy signal processing tilt for accurate reproduction of original outputs;
    • avoiding latency as much as possible.

    It currently contains emulations of the:

    • Acorn Electron;
    • Amstrad CPC;
    • Apple II/II+ and IIe;
    • Atari 2600;
    • Atari ST;
    • BBC Micro;
    • ColecoVision;
    • Commodore Plus 4;
    • Commodore Vic-20;
    • Enterprise 64/128;
    • Macintosh 128K, 512K, 512Ke, and Plus;
    • MSX 1 and 2;
    • Oric 1/Atmos;
    • Sega Master System;
    • Sinclair ZX80/81;
    • Sinclair ZX Spectrum;
    • Tandy CoCo 1/2; and
    • Thomson MO5/6.

    Also present but less rounded are the:

    • Acorn Archimedes;
    • Commodore Amiga; and
    • early PC compatible.

    On the Mac it is a native Cocoa and Metal application; under Linux, BSD and other UNIXes and UNIX-alikes it uses OpenGL and can be built either with Qt or with SDL.

    Single-step Loading

    Through static and runtime analysis CLK seeks automatically to select and configure the appropriate machine to run any provided disk, tape or ROM; to issue any commands necessary to run the software contained on the disk, tape or ROM; and to provide accelerated loading where feasible.

    With CLK installed the full process of loading a piece of software — even if you've never used the machine it runs on before — is:

    1. locate it in your OS;
    2. double click it.

    Loading a piece of software

    There's no need to wade through creating a new machine, inserting media into it or figuring out which loading command goes with this piece of software, and no import procedure — CLK does not attempt to take ownership of your files or to usurp your OS.

    Keep your emulated titles on your desktop, in your dock, or wherever else you usually prefer to launch software from, and launch in a single step. Just like any other piece of desktop software.

    Signal Processing

    Consider an ordinary, unmodified Commodore Vic-20. Its only video output is composite. Therefore the emulated machine's only video output is composite. In order to display the video output, your GPU must decode composite video. Therefore composite video artefacts are present and correct — not because of a post hoc filter but because the real signal is really being processed.

    Similar effort is put into audio generation. If the real machine normally generates audio at 192Khz then the emulator generates a 192Khz source signal and filters it down to whatever the host machine can output.

    Samples

    Low Latency

    The display produced is an emulated CRT, with phosphor decay. Therefore if you have a 140Hz 4k monitor it can produce 140 distinct frames per second at 4k resolution. Latency is dictated by the host hardware, not the emulated machine or emulator.

    Audio latency is disjoint from frame rate and is generally restrained to 5–10ms.

    Accurate Emulation

    Accuracy is a user-experience issue; the more accurate an emulator, the more likely that a user can run every piece of software they're interested in without further intervention.

    This emulator attempts cycle-accurate emulation of all supported machines. In some cases it succeeds.

    Additional Screenshots

    macOS Version Qt Version