Case study
The Sims: Bustin' Out: an AI-driven partial GBA matching decompilation
Rebuilds the USA/Europe Game Boy Advance release of The Sims: Bustin' Out byte for byte while gradually replacing ROM regions with matching C compiled by agbcc. The README calls it an AI-driven experiment in which almost all code, analysis and tooling are AI-generated. Most of the ROM is still copied from the user’s dump, so whole-ROM equality does not mean the game has been decompiled.
Requirements and limitations
- The progress report at this commit (verified 18 Oct 2026) counts 2,285 matching C functions covering 288,700 bytes and 4,060 bytes of assembly glue, while 16,484,456 of the 16,777,216 ROM bytes remain unconverted. It marks the code inventory as incomplete, and the README treats function boundaries in the ROM map as provisional.
- Requires the user’s own USA/Europe revision 0 ROM (game code ASIE) matching SHA-1 fb5662172fadebf4577f6f6f163741fc041c11e6; unconverted regions in the built ROM come from that dump. A USA revision 1 dump serves only as an audit and comparison reference. ROMs, extracted assets and game binaries are not included.
- The documented build host is macOS with Python 3.10+ and Xcode’s command line tools. The pinned toolchain uses pret/agbcc as the matching C compiler, selected GCC 3.0.2 and Binutils 2.10.1 builds with host-compatibility patches, Binutils 2.43.1, Capstone, pyelftools and Pillow. The README notes that choosing these tools does not establish the original game’s toolchain.
- make build fails if any byte differs, and each verified build includes changed-source negative controls that must be rejected; make test runs tests without a ROM. mGBA is listed only for optional bounded runtime observations, and no gameplay equivalence is claimed. This review did not build or run the project.
- MIT covers the project’s own source, tools and documentation, not original game code, assets, trademarks or Nintendo’s header logo. Adapted Krawall routines (LGPL-2.1), selected GCC runtime sources (GPL-2.0 with exceptions) and Newlib string functions keep their own notices. The project accepts no contributions; the agents or models used are not named, and no REA use is established.
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
- README.md GitHub · DaBrown95/tsbodp · Revision 0beb04f
- assets/progress.json GitHub · DaBrown95/tsbodp · Revision 0beb04f
- config/targets/us-eu.json GitHub · DaBrown95/tsbodp · Revision 0beb04f
- config/targets/us-rev1.json GitHub · DaBrown95/tsbodp · Revision 0beb04f
- Makefile GitHub · DaBrown95/tsbodp · Revision 0beb04f
- tools/build_rom.py GitHub · DaBrown95/tsbodp · Revision 0beb04f
- AGENTS.md GitHub · DaBrown95/tsbodp · Revision 0beb04f
- LICENSE.md GitHub · DaBrown95/tsbodp · Revision 0beb04f