2026 年 2 月,Dolphin 模拟器团队正式宣布了对 Triforce 街机平台的仿真支持,这标志着这款以模拟 GameCube 和 Wii 闻名的开源项目,正式将触角伸向了基于相同硬件核心、却承载着截然不同工程哲学的街机领域。Triforce,这个由世嘉、任天堂和万代南梦宫三方合作诞生的街机平台,其内核是一块标准的 GameCube 主板,但通过附加的 AM-Baseboard 和 AM-Mediaboard,它被改造成了一台为硬币操作环境而生的专业设备。对模拟器开发者而言,Triforce 的仿真绝非简单的 “另一个 GameCube”,而是一场对时序精确性、内存映射差异和复杂 I/O 设备模拟的深度工程考验。
硬件架构:熟悉的芯,陌生的壳
Triforce 的硬件设计体现了典型的街机工程思维:在可靠性与成本间寻找平衡,并为大规模商用环境优化。其核心是一块未经改动的 GameCube 主板,确保了与家用游戏相同的计算与图形能力。真正的魔法发生在两块附加板上:AM-Baseboard 负责输入输出,将街机标准的 JVS(JAMMA Video Standard)信号转换为 GameCube 的 SI 总线协议,并提供双 VGA 输出;AM-Mediaboard 则承担存储与网络功能,根据开发商的不同,游戏数据可能存储在 GD-ROM(通过 DIMM RAM 加载运行)或 512MB NAND 卡带中。
这种架构立即带来了第一个仿真挑战:启动时序的精确性。与家用机插入光盘即玩不同,Triforce 的启动流程是多阶段的。系统首先加载一个修改版的 GameCube IPL(初始程序加载器),随后启动存储在 Mediaboard 上的 Segaboot—— 这是一个类似 “主菜单” 的系统软件,负责加载实际游戏并提供给街机操作员使用的服务菜单。模拟器必须精确再现这一链条,包括各阶段间的硬件初始化命令与超时处理。Dolphin 博客文章《Rise of the Triforce》指出:“早期启动流程与零售主机相同,但修改后的 GameCube IPL 用于初始化 Triforce 硬件并加载 Segaboot。” 任何时序偏差都可能导致游戏无法进入服务菜单或错误识别硬件状态。
内存映射:DIMM RAM 的认知陷阱
存储方案直接影响了内存映射的仿真逻辑。采用 GD-ROM 的 Triforce 机型配备了额外的 DIMM 内存,其容量(如 128MB、256MB)常被标注在机箱贴纸上,这导致了一个常见的误解:游戏可以访问这些额外的内存。然而事实是,DIMM RAM 主要被用作只读的 RAM 驱动器,游戏数据从 GD-ROM 一次性加载至此,之后便依靠备用电池维持数据,以减少光盘读取损耗。游戏逻辑实际可用的内存,依然被限制在 GameCube 原有的 24MB 主内存和 16MB ARAM(音频内存)内。
仿真器必须准确模拟这种 “大容量缓存” 与 “有限工作内存” 的分离。这意味着内存映射表需要区分 DIMM 地址空间与主内存地址空间,并确保游戏对 DIMM 的访问被正确重定向到模拟的 RAM 驱动器区域,同时阻止任何试图将 DIMM 用作扩展工作内存的操作。这种设计原本是为了街机环境下的可靠性(减少机械磨损),却给仿真带来了额外的状态管理复杂度 —— 模拟器需要维护 DIMM 内容的持久化状态(对应真实的电池备份),并在游戏更新或更换光盘时正确处理数据更新。
I/O 迷宫:从 JVS 标准到家用控制器
如果说 CPU 和内存的仿真是 “理解大脑”,那么 I/O 设备的仿真就是 “连接四肢”。Triforce 的 I/O 系统基于 JVS 标准,这是一种为街机设备设计的通用串行总线,可连接硬币接收器、卡读写器、方向盘、踏板、力反馈电机等数十种外设。JVS 设备通过 Type 1 或 Type 3 接口与 Baseboard 通信,Baseboard 再将其翻译为 GameCube 的 SI 总线命令。
仿真这一链条涉及多个抽象层:
- 物理信号转换:JVS 使用类似 RS485 的差分串行信号,与 USB 的电气特性不同。在真实硬件测试中,团队曾使用 RS485 适配器配合开源项目 OpenJVS 来模拟 JVS 设备。
- 协议翻译:Baseboard 需要将 JVS 的设备枚举、数据报告转换为 SI 总线能理解的控制器状态包。
- 设备多样性:不同游戏支持的 JVS 设备组合各异。《马里奥赛车街机版》需要方向盘、踏板和卡读写器;《F-Zero AX》的豪华机柜还包含全向运动平台(Cycraft)的力反馈控制;而《阿瓦隆之钥》则依赖触摸屏和卡牌扫描仪。
Dolphin 目前的实现采用了一种务实但不够灵活的方案:为每个游戏硬编码一套默认的 JVS 设备配置。这确保了游戏可启动,但无法模拟街机厅可能存在的设备变体(例如没有卡读写器的机柜)。更大的挑战在于特殊设备的仿真:触摸屏(阿瓦隆之钥)、力反馈电机、以及通过网络与外部服务器通信的 namcam2(马里奥赛车的摄像头)和 Cycraft 运动平台。这些设备往往缺乏公开的协议文档,需要逆向工程或真实数据包捕获。
工程实现:从 “暴力破解” 到系统化仿真
Triforce 仿真在 Dolphin 中的历史可谓一波三折。早在 17 年前,代码库中就出现了初步的 Baseboard 仿真,但很快因进展缓慢而被移除。随后出现的独立 “Triforce 分支” 采用了许多 “暴力破解” 手段:绕过问题代码、硬编码响应、强行将街机控制映射到 GameCube 手柄。这种方法能让部分游戏运行,但代码混乱且无法融入主线。
转机来自开发者 crediar 长达十余年的独立维护。他的分支逐步用系统化的仿真替代了各种 Hack,最终在 2025 年向 Dolphin 主线提交了合并请求。评审过程本身也是一次工程挑战:核心开发者对 Triforce 硬件知之甚少,却要审查大量陌生设备的仿真代码。最终,在确保内存安全、修复潜在死锁、并优化用户体验(如添加 IP 重定向、简化配置流程)后,代码得以合并。
可落地参数与监控清单
对于试图基于 Dolphin 构建 Triforce 街机体验的爱好者或研究者,以下参数与监控点至关重要:
时序与初始化参数
- IPL/Segaboot 加载超时:模拟器需在毫秒级内响应硬件初始化命令。监控启动日志中是否出现 “unhandled mediaboard command” 错误。
- 网络命令延迟:对于依赖网络的外部设备(namcam2、Cycraft),本地回环(localhost)延迟应低于 5ms,Wi-Fi 环境需容忍 80ms 以内的波动。Dolphin 内置了 IP 重定向至 127.0.0.1。
- GD-ROM 模拟读取速度:DIMM 加载阶段的数据传输速率应与真实 GD-ROM 驱动器匹配(约 2-4MB/s),过快可能导致游戏时序逻辑错误。
内存与存储配置
- DIMM 镜像路径:确保用户文件夹内
Triforce目录存在,Segaboot 镜像(segaboot.gcm,2MB 大小)放置正确。 - 内存映射验证:通过内存查看工具确认游戏代码访问的 DIMM 区域(例如 0x90000000 起始)被正确重定向到模拟的 RAM 镜像,而非主内存池。
- 卡数据模拟:当前 Dolphin 为每个游戏自动生成并插入一张虚拟磁卡 / IC 卡。监控游戏存档操作是否成功,但注意无法手动换卡。
I/O 设备与输入映射
- 基础按钮映射:必须配置 “投币”(Coin)、“服务”(Service)和 “测试”(Test)按钮。Android 版默认将 “投币” 映射为晃动设备。
- 控制器适配:Dolphin 将各游戏的街机控制逻辑预映射到了 GameCube 手柄布局,但力反馈和高级轴输入(如方向盘 270 度旋转)支持有限。
- 多机柜网络:启用多实例联机时,需在同一局域网,并关闭可能干扰广播发现的防火墙规则。目前仅《马里奥赛车街机版》1&2 的多机柜联机经过验证。
已知局限与规避方案
- 《阿瓦隆之钥》系列:因缺少触摸屏仿真,虽可启动但无法进行实际游戏。暂无解决方案。
- 自定义机柜配置:无法修改默认 JVS 设备集。如需模拟特定变体,需修改游戏特定的硬编码配置(高级用户)。
- 力反馈精度:仅《F-Zero AX》的方向盘电机可被部分映射,反馈效果不准确。建议在模拟赛车游戏时关闭力反馈设置以获得稳定体验。
- 状态保存与回溯:即时存档(Save States)和工具辅助竞速(TAS)功能因 Triforce 输入设备未被集成而暂不可用。
结语:仿真作为保存与再创造
Triforce 的仿真之旅揭示了一个深层事实:仿真街机硬件不仅是复制代码执行环境,更是重建一个完整的、依赖特定物理交互的娱乐系统。Dolphin 团队通过引入 Triforce 支持,实际上是为这些已逐渐消失的街机体验提供了一个 “软件定义” 的栖身之所。尽管挑战重重 —— 从精确的时序到纷繁的 I/O,从晦涩的网络协议到缺失的硬件文档 —— 但每一步进展都让这些独特的游戏离被遗忘更远一步。
对于开发者,Triforce 仿真是学习复杂系统集成与硬件抽象的绝佳案例;对于玩家,它则是一扇通往那个街机仍是视觉与体验前沿时代的窗口。正如开发者在博客中所反思的:“通过仿真,我们能够为这些不再有机柜可称之家的游戏,带回一些街机魔法。” 而这,或许正是工程挑战背后最珍贵的价值。
资料来源:
- Dolphin Emulator Blog. "Rise of the Triforce." February 16, 2026. https://dolphin-emu.org/blog/2026/02/16/rise-of-the-triforce/
- 基于对 Triforce 硬件架构及 Dolphin 仿真实现的技术分析。