TomHarte/CLK

GitHub: TomHarte/CLK

CLK 是一款低延迟复古计算机模拟器,旨在精确模拟经典硬件以无缝运行旧软件。

Stars: 1116 | Forks: 61

![GitHub](https://img.shields.io/github/license/TomHarte/CLK?style=for-the-badge)![GitHub Release Date](https://img.shields.io/github/release-date/TomHarte/CLK?label=Latest%20Release&style=for-the-badge)![GitHub last commit](https://img.shields.io/github/last-commit/TomHarte/CLK?style=for-the-badge)![GitHub repo size](https://img.shields.io/github/repo-size/TomHarte/CLK?style=for-the-badge) # 时钟信号 时钟信号应用图标 时钟信号('CLK')是一款力求“隐形”的模拟器。用户直接启动经典软件,避免了模拟器和老式机器通常带来的学习曲线。 macOS 和源代码发行版 [托管在 GitHub 上](https://github.com/TomHarte/CLK/releases)。基于 Qt 的 Linux 版本可作为 [Snap](https://snapcraft.io/clock-signal) 获取。 这款模拟器旨在提供: * 单击加载任何受支持平台的任何源媒体; * 侧重于信号处理,以精确重现原始输出; * 尽可能减少延迟。 目前它包含对以下机器的模拟: * Acorn Electron; * Amstrad CPC; * Apple II/II+ 和 IIe; * Atari 2600; * Atari ST; * BBC Micro; * ColecoVision; * Commodore Vic-20; * Enterprise 64/128; * Macintosh 128K、512K、512Ke 和 Plus; * MSX 1 和 2; * Oric 1/Atmos; * Sega Master System; * Sinclair ZX80/81; * Sinclair ZX Spectrum;以及 * Thomson MO5/6。 以下机器也已存在,但仍在开发中: * Acorn Archimedes; * Commodore Plus 4; * Commodore Amiga;以及 * 早期 PC 兼容机。 在 Mac 上,它是一个原生的 Cocoa 和 Metal 应用程序;在 Linux、BSD 和其他 UNIX 及类 UNIX 系统上,它使用 OpenGL,并且可以使用 Qt 或 SDL 构建。 ## 单步加载 通过静态和运行时分析,CLK 会自动选择并配置合适的机器来运行任何提供的磁盘、磁带或 ROM;发出运行磁盘、磁带或 ROM 上软件所需的任何命令;并在可行时提供加速加载。 安装 CLK 后,加载软件的完整过程——即使您从未使用过它所运行的机器——就是: 1. 在您的操作系统中找到它; 2. 双击它。 ![加载软件](https://raw.githubusercontent.com/TomHarte/CLK/master/READMEImages/JustDoubleClick.gif) 无需费力创建新机器、将媒体插入其中或弄清楚哪条加载命令对应这个软件,也没有导入过程——CLK 不会尝试接管您的文件或取代您的操作系统。 将您模拟的软件标题放在桌面上、Dock 中或您通常习惯启动软件的任何其他地方,然后单步启动。就像任何其他桌面软件一样。 ## 信号处理 考虑一台普通的、未改装的 Commodore Vic-20。它唯一的视频输出是复合视频。因此,模拟机器的唯一视频输出也是复合视频。为了显示视频输出,您的 GPU 必须解码复合视频。因此,复合视频伪影会正确呈现——这不是事后滤波的结果,而是因为真实的信号正在被真实地处理。 音频生成也投入了类似的努力。如果真实机器通常在 192Khz 下生成音频,那么模拟器就会生成一个 192Khz 的源信号,并将其滤波到主机可以输出的频率。 ### 采样
1:1 Pixel Copying Composite Decoded
The Electron start screen, with a classic 1:1 pixel emulation The Electron start screen, decoded from an interlaced composite feed
Repton 3 in game, with a classic 1:1 pixel emulation Repton 3 in game, decoded from an interlaced composite feed
Stormlord with a classic 1:1 pixel emulation Stormlord decoded from a composite feed
Road Fighter with a classic 1:1 pixel emulation Road Fighter decoded from a composite feed
A segment of the ColecoVision Donkey Kong title screen with a classic 1:1 pixel emulation A segment of the ColecoVision Donkey Kong title screen decoded from a composite feed
Sonic the Hedgehog with a classic 1:1 pixel emulation Sonic the Hedgehog screen PAL decoded from a composite feed
1:1 Pixel Copying Correct Aspect Ratio, Filtered
Amstrad text, with a classic 1:1 pixel emulation Amstrad text, with correct aspect ratio and subject to a lowpass filter
The Amstrad CPC version of Stormlord, with a classic 1:1 pixel emulation The Amstrad CPC version of Stormlord, with correct aspect ratio and subject to a lowpass filter
## 低延迟 产生的显示是模拟的 CRT,带有磷光衰减。因此,如果您有一台 140Hz 4K 显示器,它可以在 4K 分辨率下每秒产生 140 个不同的帧。延迟由主机硬件决定,而不是模拟的机器或模拟器。 音频延迟与帧率分离,通常限制在 5-10 毫秒。 ## 精确模拟 精确性是一个用户体验问题;模拟器越精确,用户就越有可能无需进一步干预就能运行他们感兴趣的所有软件。 这款模拟器尝试对所有支持的机器进行周期精确的模拟。在某些情况下,它做到了。 ## 附加屏幕截图
Apple IIe Prince of Persia Archimedes Star Fighter 3000
Amiga Indianapolis 500 Atari ST Stunt Car Racer
Amstrad CPC Chase HQ MSX 2 Space Manbow
Amiga James Pond II Atari 2600 Solaris
Microsoft Flight Simulator BBC Micro Elite
Acorn Electron Chuckie Egg C16+4 Kikstart
ColecoVision Galaxian SG1000 Chack'n'Pop
ZX81 3D Monster Maze Thomson MO5 Minotaure 3D
Vic-20 Gridrunner ZX Spectrum Chromatrons Attack
ZX80 Kong VIC-20 BASIC
Apple Macintosh MusicWorks RISC OS
ZX Spectrum Menu MS-DOS Prompt
![macOS 版本](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/cc18bafa17120703.png) ![Qt 版本](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/00fc06d9a4120705.png)
标签:Cocoa, DNS解析, JSON 请求, Linux应用, macOS应用, Metal, OpenGL, Qt框架, SDL框架, 信号处理, 单击加载, 复古游戏, 复古游戏机, 复古计算机, 多平台支持, 实时信号处理, 嵌入式系统, 延迟优化, 开源项目, 服务识别, 游戏机模拟, 硬件模拟, 经典软件, 计算机历史, 计算机模拟, 高精度模拟