程序员将《超级马里奥 64》移植至微软 Zune HD
据 Hackaday 报道,一款名为 OpenZDK 的非官方开发套件成功将 Nintendo 64 经典游戏《超级马里奥 64》移植到了微软 Zune HD 媒体播放器上。该项目基于 sm64ex(一个非官方、反编译的 PC 版《超级马里奥 64》分叉版本)构建,运行在设备原生硬件之上。

Zune HD 是微软于 2009 年推出的产品,旨在与苹果 iPod 竞争。该设备搭载 Nvidia Tegra APX 2600 芯片,配备 3.3 英寸 OLED 触摸屏,初始售价根据存储容量不同介于 219.99 美元至 289.99 美元之间。其操作系统基于 Windows CE,第三方应用通过微软 XNA 框架运行。尽管微软在 2011 年停止了该设备的生产,但随后发现的一个漏洞促成了 OpenZDK 的发布,从而为自制软件(homebrew)提供了支持。
技术实现细节
此次移植并未修改 Zune HD 的固件,而是直接在操作系统之上运行原生 ARM 代码。开发人员指出,由于 Zune 的图形驱动程序无法编译 OpenGL 着色语言 (GLSL) 着色器,项目利用了来自 Fast3D 的 OpenGL ES 2 渲染器,并配合 Nvidia 的 cgc 和 shaderfix 工具进行处理。此外,鉴于 GPU 缺乏固定的功能混合硬件,混合操作被编译到片段着色器中。
游戏逻辑以每秒 30 帧的速度运行,但在设备性能不足时会出现轻微滞后,目前尚无官方 FPS 数据。画面以 480x272 分辨率呈现,设备需旋转以匹配横屏视角。音频合成在独立线程中以更高优先级运行,以确保不受帧率波动影响。屏幕上覆盖有触摸控制器,模拟了摇杆及 A、B、Z、R、四个 C 键和 Start 键,用户可自定义按键样式和不透明度。
构建要求与法律风险
该端口依赖于 2019 年由粉丝完成的《超级马里奥 64》反编译工作,使用 C 语言源代码重建匹配的 ROM。由于反编译不包含所有游戏资产,用户必须提供自己的游戏 ROM 副本进行提取。构建过程需在 Linux 环境的 Docker 容器中进行,无需 Windows PC。最终生成的游戏文件可通过 USB 传输至设备。
值得注意的是,rsheldiii 的代码仓库未包含 ROM,且仅对固件 4.5 版本进行了测试。该仓库应用了 14 个补丁到 sm64ex 的固定版本,且未发布正式版本。开发人员强调,此端口仅供个人使用,存在一定风险。
完整的 PC 移植版于 2020 年 5 月发布,sm64ex 分支还增加了鼠标视角控制和作弊菜单等功能。当时,任天堂法务部门迅速采取行动,针对托管编译版本的网站及相关演示视频发出警告。尽管如此,已有多个平台的移植版本流出,包括 3DS、Wii U、PS2、PlayStation、PS Vita、Dreamcast、Nintendo DS/DSi 以及网页端,如今又新增了 Zune HD。
AI 辅助开发的迹象
近期此类复古硬件移植项目数量增加,可能与强大的 AI 工具普及有关。在该项目的代码仓库首次提交记录末尾,标注有“Co-Authored-By: Claude Opus 5.5”,表明至少部分代码由 AI 协助完成。这一趋势在其他案例中也有体现,例如另一项成果是将《毁灭战士》(Doom)成功移植到售价 8,000 美元的哈苏 X2D 相机上,这同样源于深入的固件研究。





