YouTube 复古游戏频道 Throaty Mumbo 近期展示了一项名为 NESPC 的实验项目,成功在任天堂娱乐系统(NES)上构建了一个类似 Windows 的桌面环境。该方案的核心在于利用 EverDrive N8 Pro——一款内置 FPGA 的 NES 卡带,通过其强大的硬件能力处理繁重的 x86 架构仿真任务。

基于 FPGA 的硬件加速方案
由于 NES 原生搭载的 6502 8位微处理器性能有限,无法直接模拟 x86 指令集,Throaty Mumbo 采用了 EverDrive N8 Pro 中配备的 ARM 架构 Cyclone IV FPGA。该设备插入 NES 卡带插槽后,实质上充当了外置协处理器的角色,将计算密集型任务从主机卸载至卡带端。为了运行 x86 代码,开发者集成了开源软核处理器 Next186,使 FPGA 能够执行与 Intel 80186 兼容的指令,从而在硬件层面实现 x86 仿真。
软件环境与界面优化
在项目初期,Throaty Mumbo 尝试过互联网上流传的中国版 Windows 98 ROM 以及名为 decrazio 的 NES86 Linux 项目。前者仅能提供 Paint、Windows Explorer 等程序的静态图像,缺乏实际功能;后者则因运行速度极慢且不可用而被放弃。最终,开发者自行编写了定制 ROM。
NESPC 项目最初以命令行界面形式呈现,展示了快速导航及程序运行的能力。随后,开发团队构建了一套完整的图形用户界面,视觉上简化自早期 Windows 98 风格,但功能更为实用。该界面不仅替代了 EverDrive N8 Pro 的原生菜单,还包含一个完全可玩的“扫雷”游戏。用户可以通过点击程序图标启动游戏 ROM,或直接访问卡带内部存储的文件。
外设交互与 USB 支持
针对 NES 控制器在桌面操作中的局限性,Throaty Mumbo 曾尝试改造 Family BASIC 键盘并通过扩展插槽连接,但因按键映射混乱及物理尺寸限制未能达到理想效果。最终解决方案是采用 RP2350 微控制器配合自定义固件,通过 NES 控制器端口接入 USB 设备。
受限于 RP2350 仅有一个 USB 接口,开发者使用内置 USB 集线器的键盘实现了键鼠同时工作。此外,该系统还支持 MIDI 功能,允许连接 USB 钢琴键盘,并能在基本的数字音频工作站(DAW)环境中播放 NSF(任天堂声音格式)文件,例如《超级马里奥》的音乐片段。
网络扩展与媒体播放
为进一步丰富体验,项目整合了此前开发的 3D 打印光驱 NESCD。该驱动器连接至 EverDrive N8 Pro 和扩展插槽,支持在运行 NES 游戏的同时播放背景音乐而不损耗性能。后续升级中,开发者引入 Seeed Studio XIAO ESP32 模块为 NESCD 增加了 WiFi 功能,实测下载速度可达 4 MB/s,上传速度约为 90 KB/s。
鉴于 NES 有限的显示分辨率和网络处理能力,联网浏览需依赖笔记本电脑作为代理服务器,对网页内容进行简化处理后传输至 NES 显示。尽管这种在线体验较为简陋,但已具备基本可行性。目前,NESPC 项目的源代码已在 GitHub 公开,RP2350 的固件也已提供下载。





