{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/carlosrmz009/littleplanet/blob/658d834d53d90baf6a899fa1e5d81a6fee187bbb/LICENSE",
    "https://github.com/carlosrmz009/littleplanet/blob/658d834d53d90baf6a899fa1e5d81a6fee187bbb/tools/decomp.sh",
    "https://github.com/carlosrmz009/littleplanet/blob/658d834d53d90baf6a899fa1e5d81a6fee187bbb/tests/rc_check.sh",
    "https://github.com/carlosrmz009/littleplanet/blob/658d834d53d90baf6a899fa1e5d81a6fee187bbb/.github/workflows/build.yml"
  ],
  "category": "reconstruction-cases",
  "description_en": "Disassembles every executable file on the Sonic CD disc from runtime coverage and recursive descent, reassembles them byte-identically, and translates the code statically to C on a from-scratch Mega-CD runtime that replaces the BIOS with a high-level implementation. Recompiled blocks run only where memory still holds the code they came from, and a script compares 96 stage runs frame by frame against the interpreter. The project also patches in widescreen and per-zone saves; results remain project-reported.",
  "description_zh": "依据运行覆盖率和递归下降，反汇编 Sonic CD 光盘上的全部可执行文件并逐字节一致地重新汇编，再将代码静态翻译为 C，运行于从零编写、以高层实现替代 BIOS 的 Mega-CD 运行时。重编译代码块只在内存仍为其来源代码时执行，并有脚本以 96 段关卡运行逐帧对照解释器。项目还以补丁加入宽屏和逐区存档；结果仍为项目报告。",
  "entry_url": "https://awesomerea.org/resources/little-planet-sonic-cd-recomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/little-planet-sonic-cd-recomp-case/",
  "evidence_url": "https://github.com/carlosrmz009/littleplanet/blob/658d834d53d90baf6a899fa1e5d81a6fee187bbb/README.md",
  "group": "cases",
  "id": "little-planet-sonic-cd-recomp-case",
  "json_url": "https://awesomerea.org/resources/little-planet-sonic-cd-recomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/little-planet-sonic-cd-recomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/little-planet-sonic-cd-recomp-case/index.md",
  "name": "Little Planet: Sonic CD recompiled from a matching disassembly",
  "name_zh": "Little Planet：由一致性反汇编重编译的 Sonic CD",
  "reconstruction_method": "static-recompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README reports that all 112 executable files reassemble byte-identically to the Japanese release, that 622k instructions recompile into 22,897 blocks, and that boot, gameplay, audio and bit-exact save states work. The disassembly is code only; graphics, sound and level data stay on the user’s disc. True16:9 widescreen and saves after every zone patch the game’s own programs, so those options depart from the original game.",
    "Supply your own Sonic CD disc image (cue/bin, iso, ccd/img/sub, chd, or cue with compressed audio). The Japanese G-6021 release, identified by a data-track SHA-1 in README, is the tested one; other releases boot but are untested. No BIOS dump is needed, and no disc data is included.",
    "Releases target Windows x64 (installer or portable zip), macOS 11+ (not notarized) and Linux x86_64/ARM64 AppImages. Source builds need Python (3.10+ on Windows) and SDL3, with Visual Studio 2022 Build Tools, Xcode command-line tools or gcc/g++. The optional remastered opening also needs a separately built FFmpeg and a fetched video.",
    "README documents tools/decomp.sh for extracting the disc, reassembling asm/ and comparing each file; tests/rc_check.sh compares per-frame RAM and CPU-PC hashes of recompiled and --interp runs across 96 scripted stages. README also reports SingleStepTests results: all 1.6M Z80 cases, and all 1M 68000 cases apart from some undocumented DIVS/ASR and address-error cases. CI tests only a homebrew test disc.",
    "MIT covers the runtime, tools and installer. third_party/ code, the bundled LGPL 2.1 FFmpeg and LuanUP’s remastered opening, included with permission, keep their own terms, and nothing extracted from a disc is covered. The reviewed LICENSE’s exclusion note names Star Fox 2 rather than Sonic CD. The project is unofficial, unaffiliated with Sega."
  ],
  "requirements_zh": [
    "README 报告全部 112 个可执行文件可重新汇编为与日版逐字节一致的文件，62.2 万条指令重编译为 22,897 个代码块，启动、游戏、音频及逐位一致的即时存档均可运行。反汇编只含代码，图形、声音和关卡数据保留在使用者的光盘中。True16:9 宽屏和每区存档通过修改游戏自身程序实现，因此这些选项有别于原版游戏。",
    "需自备 Sonic CD 光盘映像（cue/bin、iso、ccd/img/sub、chd，或附压缩音轨的 cue）。经测试的是日版 G-6021，README 给出其数据轨 SHA-1；其他版本可以启动但未经测试。无需 BIOS 转储，仓库也不含任何光盘数据。",
    "发布版面向 Windows x64（安装程序或便携 zip）、macOS 11+（未经公证）及 Linux x86_64／ARM64 AppImage。源码构建需要 Python（Windows 上为 3.10+）和 SDL3，并分别搭配 Visual Studio 2022 Build Tools、Xcode 命令行工具或 gcc/g++。可选的重制版开场还需另行构建 FFmpeg 并获取视频。",
    "README 说明 tools/decomp.sh 用于提取光盘、重新汇编 asm/ 并逐个文件比较；tests/rc_check.sh 在 96 段脚本化关卡中，比较重编译运行与 --interp 运行每帧的 RAM 及 CPU PC 哈希。README 还报告 SingleStepTests 结果：Z80 通过全部 160 万个用例，68000 除部分未公开的 DIVS／ASR 及地址错误用例外通过全部 100 万个用例。CI 仅以自制测试光盘进行测试。",
    "MIT 覆盖运行时、工具和安装程序。third_party/ 代码、随附的 LGPL 2.1 FFmpeg 以及经许可收录的 LuanUP 重制版开场各自保留条款，任何从光盘提取的内容均不在许可范围内。所审阅 LICENSE 的排除说明写的是 Star Fox 2 而非 Sonic CD。该项目为非官方作品，与 Sega 无关。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/carlosrmz009/littleplanet",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
