hffgzktbcc-blip/ounce-core

游戏

用纯 Rust 对 Tegra T239 与 Horizon OS ABI 做净室建模,供研究 Switch 2 硬件、但不含密钥与固件。

106
11
Rust
创建于 1 天前

这是一个刚上线一天、只发布源码的 Switch 2 硬件研究运行时,用 safe Rust 描述主机子系统。请把它当作可供阅读和审查的实验,而不是拿来运行商业游戏的模拟器。

解决什么问题

想弄清楚次世代主机如何启动、如何映射内存、如何提供服务接口,通常只有两条路:拆真机,或依赖泄露文档。前者慢且难复现,后者法律风险高,也很难共享。ounce-core 把这件事改写为净室建模:研究者阅读公开架构资料,用 Rust 描述各子系统,再用运行时生成的合成二进制去验证。成果是一个别人能读、能编译、能质疑的代码库,而不是一堆私人笔记。

有什么不同

这个项目最特别的做法,是把目标主机拆成若干个有文档依据的硬件域,而不是写成一个整体式模拟器。README 大致分为:CPU 与向量执行、带 SASS 到 SPIR-V 路径的 NVN 驱动 HLE、稀疏虚拟 MMU、音频与手柄外设、存储容器,以及 Horizon 64 位微内核和面向 set:sys、am:appletOE、vi:m 的 HLE 服务层(项目说明)。这种拆分对研究很友好:每个域都可以单独推理、记录和测试,整个项目按作者的说明可用标准 Cargo 工具链从源码编译(Rust)。

代价是覆盖面。只依据公开文档建立的模型,必然与未公开的行为有出入。README 明确说明仓库不含任何专有密钥、ROM dump 或固件归档,测试只用合成值和 NIST FIPS 197 等公开标准。作者还援引互操作性判例来论证合法性,并强调不附带任何二进制;但这只是作者的立场,不是独立的法律结论。期待插上就能玩的人会失望;想找一个可读的系统模型的人,则会看到一个自洽的起点。

标题里写的是 research runtime,仓库也没有回避自己不分发多数模拟器赖以运行的关键材料。仔细读它的分层设计,比看功能清单更有收获。

谁值得试

适合愿意读 Rust、想研究或讲授主机架构的人:正在梳理新 ABI 的模拟器开发者、对 Horizon IPC 协议好奇的系统程序员,或者想拿一个净室脚手架继续扩展的研究者。也适合想观察硬件兼容层如何按子系统组织的人。

不适合想找现成 Switch 2 模拟器的玩家,也不适合需要喂入真实游戏 dump 或固件的人。净室立场和缺失的密钥不是临时绕过的安装障碍,而是这个项目内容本身的边界(README)。想要成品模拟器的人应另找项目。

使用条件与边界

需要 Rust 2024 工具链,并从源码用 Cargo 构建(项目仓库)。仓库只提供源码:没有安装器、预编译二进制或下载包,README 还警告第三方打着 "Ounce Core" 名号的构建可能是恶意软件。因此使用前必须先自行审计并编译代码,这对不熟悉 Rust 的人门槛不低。

项目未声明许可证,如果你的目的是复用、再分发或在此基础上继续开发,这一点需要先弄清楚。运行时针对特定固件 ABI(23.0.1)和 SoC 型号,合成测试之外的兼容情况未知。项目非常年轻,结构和接口预计还会频繁变动。提供的 README 摘录中也缺少详细的入门步骤,实际的第一步更像是读源码和 CI 配置,而不是跟着教程操作。

HotRepo 点评

目前唯一有日期的信号是 2026-10-26 的新项目榜记录:Rust 分类下共 106 星、排名第 9。那不是单日增长数据,也说明不了项目能否持续;样本只有一个日期,无法判断热度是否延续。构建状态徽章指向它的 CI 工作流,投入时间之前,值得先确认该流水线是否通过,以及 ABI 目标的文档是否细到足够支撑你的用途。

本文由 AI 根据项目 README 生成,更新于 2026年10月26日,以项目官方文档为准。