{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/INSTALL.md",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/FAQ.md",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/Makefile",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/roms.sha1",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/.rgbds-version",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/.github/workflows/main.yml",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/docs/vc_patch.md",
    "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/docs/bugs_and_glitches.md"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reconstructs the Game Boy Color game Pokémon Crystal as RGBDS assembly, with graphics, maps and data stored as editable sources. One tree builds the international 1.0 and 1.1 releases, the Australian release, two debug builds and a Virtual Console patch, each checked against a recorded SHA-1. Companion documentation covers script command formats and known bugs in the original game.",
  "description_zh": "以 RGBDS 汇编重建 Game Boy Color 游戏《精灵宝可梦 水晶》，图像、地图和数据以可编辑的源文件保存。同一源码树可构建国际版 1.0 与 1.1、澳大利亚版、两个调试构建以及一个 Virtual Console 补丁，并逐一与记录的 SHA-1 比对。配套文档说明脚本命令格式以及原版游戏中的已知错误。",
  "entry_url": "https://awesomerea.org/resources/pokecrystal-disassembly-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/pokecrystal-disassembly-case/",
  "evidence_url": "https://github.com/pret/pokecrystal/blob/3bc8daa4173e96a7f4011dad3922eb6fa5dad5c6/README.md",
  "group": "cases",
  "id": "pokecrystal-disassembly-case",
  "json_url": "https://awesomerea.org/resources/pokecrystal-disassembly-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/pokecrystal-disassembly-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/pokecrystal-disassembly-case/index.md",
  "name": "pokecrystal: a matching Pokémon Crystal disassembly",
  "name_zh": "pokecrystal：一致构建的《精灵宝可梦 水晶》反汇编",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README lists six outputs with SHA-1s: Crystal (UE) 1.0 and 1.1, the Australian release, two debug builds and the CGBBYTE1.784 Virtual Console patch. Version differences are selected with assembler defines such as _CRYSTAL11 and _CRYSTAL_AU, and plain make builds only the 1.0 ROM. The Japanese release is not among the listed targets.",
    "The build reads no original ROM: code, text, maps, audio, PNG graphics and other data are in the repository, including the mobile library code linked into the ROM. The repository therefore carries the game's content in source form. Packaging the Virtual Console patch into an installable title is outside the project's scope.",
    "INSTALL.md covers Linux distributions, macOS with Homebrew, Windows through WSL (or Cygwin on older Windows) and Termux. The build needs make, gcc or clang, git and rgbds 1.0.4, which the repository pins; FAQ.md notes that rgbds releases before 1.0.0 fail.",
    "make compare builds every target and runs sha1sum against roms.sha1. pret's CI does this on Linux and macOS with rgbds 1.0.4 and fails when the build leaves uncommitted changes, while forks only build. Bug and design-flaw notes describe fixes as optional diffs, since the matching build keeps the original behavior.",
    "The repository has no license file, so reuse terms for the disassembly are unstated, and the original game's content remains its rights holders'. rgbds is a separate project with its own terms."
  ],
  "requirements_zh": [
    "README 列出六个产物及其 SHA-1：Crystal (UE) 1.0 和 1.1、澳大利亚版、两个调试构建，以及 CGBBYTE1.784 Virtual Console 补丁。各版本差异通过 _CRYSTAL11、_CRYSTAL_AU 等汇编宏选择，直接运行 make 只构建 1.0 版 ROM。日版不在所列目标之内。",
    "构建不读取任何原版 ROM：代码、文本、地图、音频、PNG 图像及其他数据都在仓库中，链接进 ROM 的移动通信库代码也包括在内。也就是说，仓库本身以源文件形式包含游戏内容。将 Virtual Console 补丁打包为可安装软件不在项目范围之内。",
    "INSTALL.md 涵盖各 Linux 发行版、通过 Homebrew 的 macOS、通过 WSL 的 Windows（旧版 Windows 用 Cygwin）以及 Termux。构建需要 make、gcc 或 clang、git 和仓库固定的 rgbds 1.0.4；FAQ.md 指出，1.0.0 之前的 rgbds 版本无法构建。",
    "make compare 构建全部目标，并依据 roms.sha1 运行 sha1sum。pret 的 CI 在 Linux 和 macOS 上用 rgbds 1.0.4 执行此检查，构建若留下未提交的改动即判失败，分叉仓库则只构建。关于错误和设计缺陷的文档以可选 diff 形式给出修正，因为一致构建保留原版行为。",
    "仓库没有许可证文件，反汇编的复用条款未作说明，原游戏内容仍归其权利人所有。rgbds 是独立项目，适用其自身条款。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/pret/pokecrystal",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
