{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/nmlgc/ReC98/blob/b6ba5b0a529edbb31efdf8c0e939263804f8ee47/CONTRIBUTING.md",
    "https://github.com/nmlgc/ReC98/blob/b6ba5b0a529edbb31efdf8c0e939263804f8ee47/bin/README.md",
    "https://github.com/nmlgc/ReC98/blob/b6ba5b0a529edbb31efdf8c0e939263804f8ee47/build.bat",
    "https://github.com/nmlgc/ReC98/blob/b6ba5b0a529edbb31efdf8c0e939263804f8ee47/Tupfile.lua",
    "https://github.com/nmlgc/ReC98/tree/28d59d31331e27fcbe61d1b65bd8c0cd618757d8",
    "https://github.com/nmlgc/ReC98/tree/c7019963ac643333114ccba9ef10adb3728f2384",
    "https://rec98.nmlgc.net/"
  ],
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "Reconstructs C++ and assembly source for the first five Touhou games, released by ZUN for the NEC PC-9801 in 1997–1998, under a rule that no master commit may change the decompressed program image or relocations of any original executable as compared by the project’s mzdiff tool. TH01 was fully decompiled in August 2022; code not yet decompiled stays in the tree as IDA-generated disassembly, and the project’s blog documents what each part of ZUN’s code does. Separate debloated and anniversary branches restructure the code and fix bugs as bases for ports and mods.",
  "description_zh": "为 ZUN 于 1997–1998 年在 NEC PC-9801 上发布的前五部东方 Project 游戏重建 C++ 与汇编源码，并规定 master 分支的任何提交都不得改变任一原始可执行文件经解压后的程序映像或重定位，以项目自己的 mzdiff 工具比对。TH01 已于 2022 年 8 月完成全部反编译；尚未反编译的代码以 IDA 生成的反汇编形式保留在仓库中，项目博客则逐一记录 ZUN 代码各部分的作用。另有 debloated 与 anniversary 分支重组代码并修复缺陷，供移植与模组作为基础。",
  "entry_url": "https://awesomerea.org/resources/rec98-touhou-pc98-restoration-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/rec98-touhou-pc98-restoration-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/nmlgc/ReC98/blob/b6ba5b0a529edbb31efdf8c0e939263804f8ee47/README.md",
  "group": "cases",
  "id": "rec98-touhou-pc98-restoration-case",
  "json_url": "https://awesomerea.org/resources/rec98-touhou-pc98-restoration-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/rec98-touhou-pc98-restoration-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/rec98-touhou-pc98-restoration-case/index.md",
  "name": "ReC98: the Touhou PC-98 Restoration Project",
  "name_zh": "ReC98：东方 Project PC-98 作品源码复原项目",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "The project targets the first five Touhou PC-98 games. TH01 was fully decompiled in August 2022; other games remain in progress. Master permits only instruction-encoding differences and trailing zero padding under mzdiff; ports use the debloated branch and bug fixes use anniversary or single-fix branches.",
    "Running the built PC-98 executables requires each game’s original files beside the output. The repository omits original asset data. Builds require Borland Turbo C++ 4.0J and Borland Turbo Assembler 5.0 or later (TASM32.EXE); neither is bundled.",
    "Windows 11 x64 and Windows XP 32-bit are tier-1 build platforms; Wine on 64-bit x86 Unix is tier 2. The output runs in DOSBox-X or the project’s Neko Project II debug fork.",
    "The root has no license file. Bundled MS-DOS Player and Tup builds are GPLv2; master.lib, the Pi loader, SPRITE16 and KAJA PMD files are third-party components. Rights to the original games remain with their owner."
  ],
  "requirements_zh": [
    "项目涵盖前五部东方 Project PC-98 游戏。TH01 于 2022 年 8 月完成反编译，其他作品仍在进行中。master 分支经 mzdiff 比对仅允许指令编码差异和末尾零填充；移植使用 debloated 分支，缺陷修复使用 anniversary 或单项修复分支。",
    "运行构建出的 PC-98 程序，需要把各游戏的原始文件放在产物旁。仓库不含原版素材数据。构建需要 Borland Turbo C++ 4.0J 和 Borland Turbo Assembler 5.0 或更新版本（TASM32.EXE）；两者均未随附。",
    "Windows 11 x64 与 Windows XP 32 位是一级构建平台；64 位 x86 Unix 上的 Wine 为二级。产物可在 DOSBox-X 或项目的 Neko Project II 调试分支运行。",
    "根目录没有许可证文件。随附的 MS-DOS Player 与 Tup 构建采用 GPLv2；master.lib、Pi 加载程序、SPRITE16 和 KAJA PMD 文件属于第三方组件。原版游戏的权利仍归其权利人。"
  ],
  "scope": "unknown",
  "targets": [
    "game"
  ],
  "url": "https://github.com/nmlgc/ReC98",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
