# Snap64 Recomp：Pokémon Snap 的静态重编译移植

> 使用 N64Recomp 将 Pokémon Snap 美版 Nintendo 64 发行版静态重编译为原生 Windows、Linux、Steam Deck 和 macOS 移植，由 RT64 负责渲染。重编译器读取从一致性 ethteck/pokemonsnap 反编译项目链接出的可重定位 ELF 及使用者自备的 ROM，游戏侧补丁则是反编译函数的修改副本。作者报告借助 Claude Code 完成移植；各项结果仍为项目报告。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始资源：<https://github.com/JackandBeans/Snap64Recomp>
- 一手来源：<https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/snap64-recomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/snap64-recomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/snap64-recomp-case/index.md)

## 使用条件与局限

- **前提条件：**需自备与 README 中 SHA-1 一致的美版 ROM，该校验值即反编译项目公布的值；接受 .z64、.v64 和 .n64 文件，错误文件会被拒绝。仓库与发布包均不含游戏素材。构建时同样需要该 ROM，用于一致性反编译构建、重编译器输入及 RSP 音频微码转换。
- **前提条件：**发布版需要 64 位 Windows 10（1809 及以上）或 11 并支持 Direct3D 12 Shader Model 6.3，或支持 Vulkan 1.2 的 Linux／Steam Deck（实验性），或 macOS 14 及以上；CPU 需为支持 SSE4.1 的 x86-64，或使用提供的 ARM 构建。BUILDING.md 记录的是双机构建：先在 WSL Ubuntu 24.04 上使用 MIPS binutils、反编译项目及其下载的 IDO 编译器和 N64Recomp，再在 Windows 上用 tools/fetch_deps.py 检出固定版本子模块后，以 Visual Studio 2019、CMake 3.20+ 和 Python 3 构建。
- **范围：**所审代码树为 1.1.5 版，对应 2026-10-17 发布的 v1.1.5，仅支持美版卡带；README 说明日版、欧版和澳版是不同的游戏构建。默认保持卡带原有行为，所有增强功能均需手动开启。列出的已知问题包括：提高帧率时部分 2D 元素仍按游戏原速步进、Snap Station 打印机的部分细节为估计值，以及 Windows 上的 Vulkan 测试较少。
- **测试证据：**VERIFICATION.md 报告：在 Windows 上完整通关，在 Steam Deck 和 GitHub 托管的虚拟 Mac 上进行了部分运行，作者构建的 1.1.5 可执行文件使用录制回放通过了 33／33 项无界面测试套件检查及 5／5 项 Snap Station 检查。尚无实体 Mac 或 Linux 桌面的报告。
- **许可：**移植代码采用 GPLv3，第三方组件列于 NOTICE.md。NOTICE.md 说明仓库跟踪的文件不含 ROM 字节，但分发的可执行文件由 N64Recomp 从游戏指令转换出的 C 代码编译而成，补丁也是修改过的反编译函数；游戏本身仍归其权利人所有。作者报告在其主导下使用 Claude Code 编写此移植。

## 一手来源

1. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/README.md>
2. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/BUILDING.md>
3. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/docs/VERIFICATION.md>
4. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/docs/KNOWN-ISSUES.md>
5. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/NOTICE.md>
6. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/CMakeLists.txt>
7. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/pokemonsnap.us.toml>
8. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/.gitmodules>
9. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/LICENSE>
10. <https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/CONTRIBUTING.md>
11. <https://github.com/JackandBeans/Snap64Recomp/releases/tag/v1.1.5>

## 同分区更多条目：游戏

- [SpeedBreaker：对 Xbox 360 版《极品飞车：最高通缉》的静态重编译](https://awesomerea.org/zh/resources/speedbreaker-nfs-most-wanted-case/index.md) · 案例
- [Spider-Man 2 PS2 Recomp：《Spider-Man 2》静态重编译阶段成果](https://awesomerea.org/zh/resources/spider-man-2-ps2-recomp-case/index.md) · 案例
- [ssbu-recomp：明确玩法边界的静态重编译](https://awesomerea.org/zh/resources/ssbu-recomp-case/index.md) · 案例
- [Starfox 64: Recompiled：基于 N64Recomp 的静态重编译移植](https://awesomerea.org/zh/resources/starfox64-recompiled-case/index.md) · 案例
- [SVR2011-Recomp：借助 ReXGlue 重编译 WWE SmackDown vs. Raw 2011](https://awesomerea.org/zh/resources/svr2011-recomp-case/index.md) · 案例
- [SymphonyRecomp：用 RecompOne 静态重编译《恶魔城：月下夜想曲》](https://awesomerea.org/zh/resources/symphonyrecomp-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
