{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/docs/Home.md",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/docs/Configuration.md#L76-L88",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/docs/Quickstart.md",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/docs/Quickstart-Elf.md",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/pyproject.toml",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/CHANGELOG.md",
    "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/LICENSE",
    "https://pypi.org/project/splat64/0.50.1/"
  ],
  "category": "game-analysis",
  "description_en": "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.",
  "description_zh": "面向反编译与模组项目的二进制拆分工具：由 YAML 配置指定在何处、以何种方式把 N64 ROM 或 PSX、PS2、PSP 二进制切分为代码、数据和素材段。扫描阶段反汇编代码与数据，MIPS 部分由 spimdisasm 处理；拆分阶段写出文件以及用于重新构建输入文件的链接脚本。可编写自定义段类型扩展该流程。",
  "entry_url": "https://awesomerea.org/resources/splat/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/splat/",
  "evidence_url": "https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/README.md",
  "group": "tools",
  "id": "splat",
  "json_url": "https://awesomerea.org/resources/splat/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/splat/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/splat/index.md",
  "name": "splat",
  "name_zh": "splat 二进制拆分工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "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.",
    "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."
  ],
  "requirements_zh": [
    "需要 Python 3.9+；安装 splat64 软件包时需带 mips 可选依赖，N64、PSX、PS2 和 PSP 平台都依赖它。审阅时 PyPI 最新版本为 0.50.1，上传于 2026-10-10；0.50.0 引入了符号与覆盖段方面的不兼容变更。仓库没有 GitHub 发布版本。",
    "文档仅列出 n64、psx、ps2 和 psp 平台；概述称 PSX 和 PS2 支持有限，ELF 快速入门不支持可重定位 ELF，README 则建议 GameCube/Wii 项目使用 decomp-toolkit。create_config 可根据使用者自备的 ROM 或 ELF 生成初始 YAML，之后仍需逐段细化。",
    "采用 MIT 许可。splat 负责拆分、反汇编并生成链接脚本；它不会反编译出 C 代码，也不能单独产出一致的构建，符号名称与类型来自分析者提供的可选 symbol_addrs 文件。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/ethteck/splat",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
