案例
Little Planet:由一致性反汇编重编译的 Sonic CD
依据运行覆盖率和递归下降,反汇编 Sonic CD 光盘上的全部可执行文件并逐字节一致地重新汇编,再将代码静态翻译为 C,运行于从零编写、以高层实现替代 BIOS 的 Mega-CD 运行时。重编译代码块只在内存仍为其来源代码时执行,并有脚本以 96 段关卡运行逐帧对照解释器。项目还以补丁加入宽屏和逐区存档;结果仍为项目报告。
使用条件与局限
- 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 无关,也未作任何 AI 或 REA 归因。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · carlosrmz009/littleplanet · 修订 658d834
- LICENSE GitHub · carlosrmz009/littleplanet · 修订 658d834
- tools/decomp.sh GitHub · carlosrmz009/littleplanet · 修订 658d834
- tests/rc_check.sh GitHub · carlosrmz009/littleplanet · 修订 658d834
- .github/workflows/build.yml GitHub · carlosrmz009/littleplanet · 修订 658d834