Files
Sylpheed/docs/re/disc-contents.md
Claude 06601c2a48 docs(re): adopt the homeless disc-contents page, re-measured
`GAME_CONTENTS.md` sat in the workspace root through the whole consolidation,
adopted by neither repo -- the corpus documents formats in depth but never said
what files the disc holds or where they sit.

Re-measured rather than transcribed, and that caught a real error: the source
placed `resource3d/`, `DefTables` and `MiscBin` under `dat/`. All three are in
`hidden/` -- which is why `SYLPHEED_RES3D` points at `hidden/resource3d`.
Counts, the language table and `media_id` (0x2D2E2EEB, from the XEX header)
re-verified against the retail extract.

Half the source was pre-RE speculation phrased as status -- `dat/*.pak` marked
"Unknown, magic bytes TBD" when the container is decoded disc-wide, plus a table
guessing each archive's contents from its name. Carrying that forward would put
claims into the corpus the corpus has already refuted, so it is dropped and the
page says what was dropped and why. INDEX.md stays the single authority on
format status.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 21:07:03 +02:00

4.3 KiB
Raw Blame History

What is actually on the disc, and where

Status: CONFIRMED for the layout and the counts — every figure below was re-measured against the retail extract on 2026-09-18, not copied from the source document. CONFIRMED for media_id, read from the XEX header.

This page exists because the corpus never had one: it documents formats in depth (see INDEX) but nowhere said what files the disc holds and where they sit. It is adopted from a pre-RE-era GAME_CONTENTS.md that lived homeless in the workspace root through the repository consolidation. Only the measured parts were carried over — see What was dropped at the end, which matters more than the rest of the page.

Extracted from the XISO image with extract-xiso.


Identity

Field Value Source
media_id 0x2D2E2EEB XEX execution_info, via .xex.json
title_id 0x53512D14 ("SQ" + 0x2D14) XEX execution_info
disc_number / disc_count 1 / 1 XEX execution_info

Top-level layout

<extract root>/
├── default.xex        ← the game executable (XEX2, PowerPC BE)
├── config.ini         ← language table (Shift-JIS comments)
├── $SystemUpdate/     ← su20076000_00000000 (dashboard update, not game data)
├── dat/               ← 71 entries
└── hidden/            ← 5 entries

⚠️ resource3d/ is in hidden/, not in dat/. So are DefTables and MiscBin. The source document placed all three under dat/; that is wrong, and it is the reason this page re-measured rather than transcribed. SYLPHEED_RES3D points at hidden/resource3d for exactly this reason.

dat/ — 71 entries

Group Count Note
*.pak + *.p00 pairs 33 + 33 the IPFB archives — format decoded, see INDEX
sound.pak + sound.p00.p04 6 one archive whose payload is split across five chunks
movie/ 109 entries

dat/movie/ holds 97 .wmv files plus six language packs as .pak/.p00 pairs (deu eng esp fra ita jpn). ⚠️ Those packs carry subtitles and fonts, not voice — all voice and SFX live in sound.pak. That trap is recorded separately; do not go looking for dialogue audio in the movie directory.

hidden/ — 5 entries

Entry Size Note
resource3d/ 166 files .xpr texture/model containers (Base.xpr, BG_*.xpr, stage and ship sets)
DefTables.pak / .p00 17 596 B / 3 058 037 B balance and definition tables
MiscBin.pak / .p00 496 B / 22 553 238 B

config.ini

Plain-text INI, Shift-JIS comments (they render as mojibake in a UTF-8 reader — the file is not corrupt). [SYSTEM] is present but empty; [LANGUAGE] maps the Xbox 360 locale constants onto the disc's three-letter directory names, with eng as the default:

[LANGUAGE]
        = eng   ;   default
#0x01   = eng   ;   XC_LANGUAGE_ENGLISH
#0x02   = jpn   ;   XC_LANGUAGE_JAPANESE
#0x03   = deu   ;   XC_LANGUAGE_GERMAN

Those keys are why the six-language pack naming above is what it is.


What was dropped, and why

The source document was written before the formats were reversed, and roughly half of it was speculation phrased as status. Carrying that forward would have put claims into the corpus that the corpus itself has already refuted — the precise failure mode README warns about ("a wrong-but-confident note is worse than no note"). Dropped:

  • A "Known File Formats" status table marking dat/*.pak as " Unknown — magic bytes TBD", and .XWB/.XSB as " TODO". The .pak container is decoded disc-wide. INDEX is the authority on format status; a second table would only drift.
  • A "PAK Archive Structure (TBD)" section guessing each archive's contents from its name ("GP_BUNK.pak — likely barracks/crew quarters UI"). Those are guesses, and the real contents are known.
  • An "RE Entry Points" section recommending loading default.xex into Ghidra to find the loaders. Static analysis now goes through sylpheed.db (see the workspace CLAUDE.md and /sylph-dis).

Nothing measured was dropped. The layout, the counts, the identity fields and the language table are all re-verified above.