打开网易新闻 查看精彩图片

近日,YouTube复古游戏实验频道Throaty Mumbo展示了自制项目NESPC,该项目基于原版任天堂娱乐系统(NES)硬件,搭建出一个外观类似Windows的桌面环境。

目前,该项目源码已在GitHub公开发布,并提供适用于RP2350微控制器的USB转接固件,可将键盘、鼠标及MIDI设备接入NES手柄端口。需要强调说明的是,NESPC并非Windows移植版,也不能运行Windows应用程序,而是一套独立开发的复古桌面环境,主要用于替代EverDrive N8 Pro的默认菜单。

采用FPGA扩展计算能力

打开网易新闻 查看精彩图片

Throaty Mumbo最初尝试使用网上流传的中文版Windows 98 ROM,但该镜像主要复刻了系统界面,画图程序、资源管理器等功能无法真正运行。随后,他测试了由decrazyo开发的NES86项目,但由于运行速度过慢,最终决定自行开发NESPC。

NES原机搭载的MOS 6502是一款8位处理器,难以独立承担项目所需的x86兼容运算。因此,项目将主要计算任务交给EverDrive N8 Pro卡带。该卡带采用Cyclone IV FPGA,项目利用其中的可编程逻辑资源承担额外计算任务。

NESPC使用开源Next186 FPGA软核,在FPGA上实现与英特尔80186指令集兼容的软核处理器,从而承担原机主处理器难以完成的计算任务。

打开网易新闻 查看精彩图片

提供桌面操作与外设支持

演示中,NESPC的命令行界面能够运行tty-tetris等程序,命令行火车动画也运行流畅,不过低分辨率限制了显示效果。

图形桌面借鉴了Windows 98的视觉风格,开始菜单内置可正常游玩的扫雷游戏,桌面图标则能够启动游戏ROM或访问卡带存储中的文件,提供了基本的程序启动、游戏管理和文件访问功能。

在输入设备方面,Throaty Mumbo曾尝试通过转接板连接Famicom Family BASIC键盘,但遇到按键重复输出、设备体积过大等问题。随后,他改用RP2350微控制器和自定义固件,将USB外设接入NES手柄端口,实现键盘输入与鼠标操作。由于转接方案仅提供一个USB接口,他最终使用内置USB集线器的键盘同时连接键盘和鼠标。

打开网易新闻 查看精彩图片

这套输入方案还支持MIDI设备。演示者将USB钢琴键盘接入系统,并通过简易数字音频工作站(DAW)进行操作,成功播放以NSF(Nintendo Sound Format)格式保存的《超级马里奥》配乐。

增加CD播放与Wi-Fi网络功能

为了增强复古个人电脑的使用体验,Throaty Mumbo将此前制作的3D打印NESCD光驱模块整合进项目。在该模块以RP2350B微控制器为中枢,连接EverDrive N8 Pro卡带与标准IDE CD驱动器,并利用NES扩展接口传输音频。

打开网易新闻 查看精彩图片

它能够从光盘读取游戏ROM,再通过USB传输至卡带,对于支持相关功能的游戏,还可根据游戏发出的请求播放CD音轨,而且,演示中未见明显的游戏性能损失。

在网络方面,项目为NESCD增加了Seeed Studio XIAO ESP32模块,以提供Wi-Fi连接能力。根据演示数据,下载速度约为4 MB/s,上传速度约为90 KB/s。

受硬件性能和显示分辨率限制,系统默认使用笔记本电脑作为代理,处理互联网请求并简化返回内容,以便在NES的低分辨率环境下显示。虽然项目也支持直接联网,但实际使用体验仍较差。

打开网易新闻 查看精彩图片

总结展望

总体来看,NESPC并不是一台能够运行Windows的NES,而是一项利用FPGA、软核处理器和微控制器扩展经典游戏主机功能的实验。通过加入桌面交互、键鼠输入、MIDI、CD播放和有限的网络访问能力,该项目展示了原版NES与可编程硬件结合后的扩展潜力,同时也体现出老旧硬件在显示、计算和联网方面的局限。

小编将在第一时间分享更多相关最新动态和爆料,敬请关注。