在现代显示技术飞速发展的今天,许多人仍对经典CRT显示器的独特画面怀有深厚感情。为了在macOS上重现这种复古视觉体验,前世嘉、Facebook工程师近藤义仁(@GOROman)开发了一款创新的CRT显示器模拟器,甚至引入了“拍打屏幕修复画面”的趣味功能。以下为您详细解读这一项目的背景、原理与实现细节。
项目概述
该项目名为 famicom-rf-hackrf-decoder,已在GitHub平台以MIT许可证开源发布。它通过开源SDR(软件定义无线电)解决方案 HackRF One,接收来自任天堂红白机(Famicom)主机的VHF RF输出,并在macOS上实时显示CRT模拟画面。

合成色条黄金测试输出
CRT技术简介
CRT(阴极射线管)是一种传统显示技术,利用电子束扫描荧光屏生成图像,广泛用于早期电视和显示器。其常见特征包括:
- 扫描线:电子束逐行扫描留下的可见线条
- 闪烁:刷新率较低时出现的画面跳动
- 几何畸变:屏幕边缘画面变形
- 色彩漂移:颜色不稳定或偏移
核心实现原理
1. 硬件连接与信号接收
项目使用 HackRF One 硬件接收Famicom主机输出的RF信号。制式为NTSC-J(日本模拟电视制式)。连接完成后,主机的RF调制视频可在VHF 1或2频道显示。

HackRF One 硬件
2. 软件解码与显示
项目通过软件实现了完整的NTSC-J彩色解码,并通过 SDL2 将解码结果实时显示在macOS桌面上。

3. 特殊画面处理
Famicom游戏机输出的视频信号不符合广播标准(非隔行扫描240p,色度相位每行推进120°,每帧只有一行短线)。为了避免出现漂移、抖动和色彩突发不稳定等问题,工程师改造了解码器,在后台运行多个进程来稳定画面。
“拍打屏幕修复画面”功能
该工程师在2023年7月15日上传的视频中,演示了这一趣味功能。当画面出现异常时,用户可以通过“拍打屏幕”来修复画面。关于实现机制,社交平台曾有猜测称其可能调用Apple MacBook的屏幕开合角度传感器,但具体原理尚未公开。
小提示: 如果你也想体验这一模拟器,需要准备一台Famicom主机、一个HackRF One设备,以及一台运行macOS的电脑。项目代码完全开源,可自由下载和修改。
常见问题解答
-
问:这个模拟器只能在macOS上运行吗?
答:目前项目仅针对macOS平台开发,但源码基于SDL2和HackRF的库,理论上可以移植到其他操作系统,需要自行编译适配。 -
问:为什么需要HackRF One硬件?
答:HackRF One是一种软件定义无线电设备,能够接收和发送从1 MHz到6 GHz的无线电信号。Famicom的RF输出属于VHF频段,HackRF One可以精确捕获并进行数字处理,这是普通无线接收器难以做到的。 -
问:画面拍打修复功能真的有实际作用吗?
答:这是一个有趣的复古彩蛋,模拟了老式CRT电视因接触不良而“拍打修复”的体验。实际效果取决于软件实现,并非真实物理修复,但能增加使用的趣味性。
展望与意义
这一项目不仅是对经典CRT显示技术的致敬,更展示了现代SDR技术在复古游戏领域的创新应用。通过开源方式,开发者和爱好者可以深入研究NTSC信号解码、实时画面处理等底层技术,同时为macOS用户提供独特的怀旧视觉体验。未来,该项目或许会加入更多CRT的特效模拟,如扫描线、荧光粉余晖等,让复古体验更加真实。
