Case study

Little Planet: Sonic CD recompiled from a matching disassembly

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.

Requirements and limitations

  • 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; this collection ran nothing.
  • 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, and makes no AI or REA attribution.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · carlosrmz009/littleplanet · Revision 658d834
  2. LICENSE GitHub · carlosrmz009/littleplanet · Revision 658d834
  3. tools/decomp.sh GitHub · carlosrmz009/littleplanet · Revision 658d834
  4. tests/rc_check.sh GitHub · carlosrmz009/littleplanet · Revision 658d834
  5. .github/workflows/build.yml GitHub · carlosrmz009/littleplanet · Revision 658d834