{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/BUILDING.md",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/docs/VERIFICATION.md",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/docs/KNOWN-ISSUES.md",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/NOTICE.md",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/CMakeLists.txt",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/pokemonsnap.us.toml",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/.gitmodules",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/LICENSE",
    "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/CONTRIBUTING.md",
    "https://github.com/JackandBeans/Snap64Recomp/releases/tag/v1.1.5"
  ],
  "category": "reconstruction-cases",
  "description_en": "Uses N64Recomp to statically recompile the US Nintendo 64 release of Pokémon Snap into a native Windows, Linux, Steam Deck and macOS port rendered with RT64. The recompiler reads a relocatable ELF linked from the matching ethteck/pokemonsnap decompilation together with the user’s ROM, and game-side patches are modified copies of decompiled functions. The author reports building the port with Claude Code; results remain project-reported.",
  "description_zh": "使用 N64Recomp 将 Pokémon Snap 美版 Nintendo 64 发行版静态重编译为原生 Windows、Linux、Steam Deck 和 macOS 移植，由 RT64 负责渲染。重编译器读取从一致性 ethteck/pokemonsnap 反编译项目链接出的可重定位 ELF 及使用者自备的 ROM，游戏侧补丁则是反编译函数的修改副本。作者报告借助 Claude Code 完成移植；各项结果仍为项目报告。",
  "entry_url": "https://awesomerea.org/resources/snap64-recomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/snap64-recomp-case/",
  "evidence_url": "https://github.com/JackandBeans/Snap64Recomp/blob/cf53b89272b9db19059dd97eed2690ea1dd94844/README.md",
  "group": "cases",
  "id": "snap64-recomp-case",
  "json_url": "https://awesomerea.org/resources/snap64-recomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/snap64-recomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/snap64-recomp-case/index.md",
  "name": "Snap64 Recomp: a static-recompilation port of Pokémon Snap",
  "name_zh": "Snap64 Recomp：Pokémon Snap 的静态重编译移植",
  "reconstruction_method": "static-recompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "The reviewed tree is version 1.1.5, published as release v1.1.5 on 2026-10-17, and targets only the US cartridge; README says the Japanese, European and Australian releases are different builds. Cartridge behavior is the default and every enhancement is opt-in. Listed known issues include some 2D elements stepping at the game’s rate at higher frame rates, estimated Snap Station printer details and lightly tested Vulkan on Windows.",
    "Supply your own US ROM matching the SHA-1 in README, the checksum the decompilation publishes; .z64, .v64 and .n64 files are accepted and a wrong file is refused. The repository and releases contain no game assets. Building also needs that ROM for the matching decompilation build, the recompiler inputs and the RSP audio-microcode translation.",
    "Releases need 64-bit Windows 10 (1809+) or 11 with Direct3D 12 Shader Model 6.3, Linux or Steam Deck with Vulkan 1.2 (experimental), or macOS 14+, on an SSE4.1 x86-64 CPU or the ARM builds provided. BUILDING.md records a two-machine build: WSL Ubuntu 24.04 with MIPS binutils, the decompilation, its downloaded IDO compilers and N64Recomp, then Visual Studio 2019, CMake 3.20+ and Python 3 on Windows after tools/fetch_deps.py checks out the pinned submodules.",
    "VERIFICATION.md reports a full Windows play-through, partial Steam Deck and GitHub-hosted virtual Mac runs, and 33 of 33 headless-suite checks plus 5 of 5 Snap Station checks on the author’s 1.1.5 executable from recorded replays. No physical Mac or Linux desktop report is recorded.",
    "Port code is GPLv3, with third-party components listed in NOTICE.md. NOTICE.md says no tracked file carries ROM bytes, but the distributed executable is compiled from C that N64Recomp translates from the game’s instructions, and patches are modified decompiled functions; the game remains its owners’. The author reports writing the port with Claude Code under their direction."
  ],
  "requirements_zh": [
    "所审代码树为 1.1.5 版，对应 2026-10-17 发布的 v1.1.5，仅支持美版卡带；README 说明日版、欧版和澳版是不同的游戏构建。默认保持卡带原有行为，所有增强功能均需手动开启。列出的已知问题包括：提高帧率时部分 2D 元素仍按游戏原速步进、Snap Station 打印机的部分细节为估计值，以及 Windows 上的 Vulkan 测试较少。",
    "需自备与 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 构建。",
    "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 编写此移植。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/JackandBeans/Snap64Recomp",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
