Tool

splat

Binary splitter for decompilation and modding projects: a YAML config says where and how to cut an N64 ROM or PSX, PS2 or PSP binary into code, data and asset segments. A scan phase disassembles code and data, with MIPS handled by spimdisasm; a split phase writes the files and a linker script for rebuilding the input. Custom segment types can extend the pipeline.

Requirements and limitations

  • Python 3.9+; install the splat64 package with the mips extra, which the N64, PSX, PS2 and PSP platforms require. The PyPI release at review was 0.50.1, uploaded 2026-10-10; 0.50.0 introduced breaking symbol and overlay changes. The repository has no GitHub releases, so this entry pins the reviewed main-branch commit.
  • Only the n64, psx, ps2 and psp platforms are documented; the overview calls PSX and PS2 support limited, the ELF quickstart excludes relocatable ELFs, and the README points GameCube/Wii projects to decomp-toolkit. create_config generates a starting YAML from a user-supplied ROM or ELF, which must then be refined segment by segment.
  • MIT license. splat splits, disassembles and emits a linker script; it does not decompile to C or by itself produce a matching build, and symbol names and types come from the analyst's optional symbol_addrs file. No binaries were split.

About this entry

Type
Tool
Category
Game analysis tools
Relationship
Foundation tool
Targets
Binary · 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 · ethteck/splat · Revision 7548b97
  2. docs/Home.md GitHub · ethteck/splat · Revision 7548b97
  3. docs/Configuration.md#L76-L88 GitHub · ethteck/splat · Revision 7548b97
  4. docs/Quickstart.md GitHub · ethteck/splat · Revision 7548b97
  5. docs/Quickstart-Elf.md GitHub · ethteck/splat · Revision 7548b97
  6. pyproject.toml GitHub · ethteck/splat · Revision 7548b97
  7. CHANGELOG.md GitHub · ethteck/splat · Revision 7548b97
  8. LICENSE GitHub · ethteck/splat · Revision 7548b97
  9. https://pypi.org/project/splat64/0.50.1/