{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/INSTALL.md",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/CONTRIBUTING.md",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/Makefile",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/meson.build",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/meson.options",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/platinum.us/rom_rev1.sha1",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/platinum.us/rom_rev0.sha1",
    "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/.github/workflows/build.yml",
    "https://github.com/pret/pokeplatinum/tree/1dc13dcea40c04ab53f1f607de46023dc409ef20/subprojects",
    "https://github.com/pret/pokeplatinum/tree/1dc13dcea40c04ab53f1f607de46023dc409ef20/res",
    "https://github.com/mid-kid/metroskrew/releases/tag/0.1.3"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reconstructs the US Nintendo DS release of Pokémon Platinum as C source that rebuilds revision 1 by default and revision 0 on request. The default make target runs Meson checks of the code binaries, filesystem and complete ROM against SHA-1 manifests. README still calls the project work in progress; its contributing guide says the code is entirely C but much of it remains obfuscated, leaving documentation and tooling as the main work.",
  "description_zh": "将美版 Nintendo DS《宝可梦 白金》重建为 C 源码，默认重建修订版 1，也可按需构建修订版 0。默认的 make 目标会运行 Meson 检查，按 SHA-1 清单校验代码二进制、文件系统及完整 ROM。README 仍称项目在进行中；贡献指南表示代码已全部为 C，但其中大量仍晦涩难懂，因此主要工作是文档和工具。",
  "entry_url": "https://awesomerea.org/resources/pokemon-platinum-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/pokemon-platinum-decomp-case/",
  "evidence_url": "https://github.com/pret/pokeplatinum/blob/1dc13dcea40c04ab53f1f607de46023dc409ef20/README.md",
  "group": "cases",
  "id": "pokemon-platinum-decomp-case",
  "json_url": "https://awesomerea.org/resources/pokemon-platinum-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/pokemon-platinum-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/pokemon-platinum-decomp-case/index.md",
  "name": "Pokémon Platinum: a checksum-matched Nintendo DS decompilation",
  "name_zh": "《宝可梦 白金》：校验一致的 Nintendo DS 反编译重建",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "scope",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README calls this a WIP decompilation of US Pokémon Platinum. CONTRIBUTING.md states that the repository is 100% C code, although much of it is obfuscated, so current work is mainly documentation and tooling; at the reviewed commit asm/ holds only macro includes beside 1,013 C files in src/. Outputs are pokeplatinum.us.nds ROM images, not a PC port.",
    "The documented build reads no original ROM: graphics, sound, text and data sources, including some prebuilt data, are committed under res/. Revision 1, the default, has SHA-1 0862ec35b24de5c7e2dcb88c9eea0873110d755c; ROM_REVISION=0 builds revision 0, SHA-1 ce81046eda7d232513069519cb2085349896dec7, which INSTALL.md describes as the original North American retail version with a GTS level-range display error that a later shipment patched. README links both No-Intro records.",
    "INSTALL.md covers WSL2 (recommended), WSL1, MSYS2, macOS and Debian, Arch and Fedora Linux; packages include an ARM GCC toolchain, bison, flex, Ninja, Python 3, libpng and 32-bit libc, and macOS also needs Wine. The Makefile clones Meson 1.12.0 and downloads the metroskrew 0.1.3 release, which its repository describes as a relinked Linux port of the proprietary Windows Metrowerks ARM compiler; Meson fetches pinned NitroSDK, NitroSystem, NitroDWC, NitroWiFi and libvct subprojects. make debug builds a GDB-enabled ROM, for which INSTALL.md points to an overlay-aware binutils-gdb fork.",
    "make runs Meson tests that check shared, revision-specific and ARM7 binaries, the filesystem and the complete ROM against SHA-1 manifests; make rom skips the checksum when code is modified. CI installs metroskrew and runs make check for the default revision.",
    "The repository has no top-level license file and GitHub detects none; some bundled tools carry their own licenses, and the metroskrew and ntrtwl SDK repositories declare no license on GitHub. SDK libraries and original game content remain subject to their rights holders."
  ],
  "requirements_zh": [
    "README 称其为美版《宝可梦 白金》的进行中反编译项目。CONTRIBUTING.md 表示仓库已是 100% C 代码，但其中大量仍晦涩难懂，因此当前工作主要是文档和工具；在所审提交中，asm/ 只有宏包含文件，src/ 中有 1,013 个 C 文件。产物为 pokeplatinum.us.nds ROM 镜像，不是 PC 移植。",
    "文档所述的构建不读取原 ROM：图像、音频、文本和数据源文件（含部分预构建数据）提交在 res/ 下。默认的修订版 1 的 SHA-1 为 0862ec35b24de5c7e2dcb88c9eea0873110d755c；ROM_REVISION=0 构建修订版 0，SHA-1 为 ce81046eda7d232513069519cb2085349896dec7，INSTALL.md 称其对应北美最初零售版，GTS 中存在等级范围显示错误，后续批次已修正。README 链接两者的 No-Intro 条目。",
    "INSTALL.md 涵盖 WSL2（推荐）、WSL1、MSYS2、macOS 以及 Debian、Arch 和 Fedora Linux；所需软件包括 ARM GCC 工具链、bison、flex、Ninja、Python 3、libpng 和 32 位 libc，macOS 另需 Wine。Makefile 会克隆 Meson 1.12.0，并下载 metroskrew 0.1.3 发行版，其仓库称之为通过重新链接移植到 Linux 的专有 Windows 版 Metrowerks ARM 编译器；Meson 拉取固定版本的 NitroSDK、NitroSystem、NitroDWC、NitroWiFi 和 libvct 子项目。make debug 构建支持 GDB 的 ROM，INSTALL.md 为此指向一个支持覆盖层的 binutils-gdb 分支。",
    "make 运行 Meson 测试，按 SHA-1 清单校验共享、分修订版及 ARM7 二进制、文件系统和完整 ROM；修改代码时可用 make rom 跳过校验。CI 安装 metroskrew 并对默认修订版运行 make check。",
    "仓库没有顶层许可证文件，GitHub 也未识别出许可证；部分附带工具有各自的许可证，metroskrew 及 ntrtwl 的 SDK 仓库在 GitHub 上均未声明许可证。SDK 库和原游戏内容仍受其权利人约束。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/pret/pokeplatinum",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
