The GameCube disc and its files
Sonic Adventure 2: Battle on GameCube is read here from a disc image of the USA release, game id GSNE8P. All data lives as files of the disc’s file system; there is
no archive format layered over them, only compression and relocation of individual files (Stage modules). Observed
The figures are from a recorded census of that disc image; they cannot be re-checked now. Observed
Disc header and file system table
Section titled “Disc header and file system table”The header is big-endian: 0x000 game id, 0x01C magic C2339F3D, 0x020 title, 0x420 the offset of main.dol, 0x424 the FST offset, 0x428 the FST size. Sourced · YAGCD
The FST is a table of 12-byte entries followed by a string table; the root entry’s length is the entry count. Sourced · YAGCD
Big-endian.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 1 | u8 | is directory | Sourced | YAGCD |
| 0x1 | 3 | u24 | name offset | Sourced | into the string table |
| 0x4 | 4 | u32 | offset | Sourced | file: position in the image; directory: parent index |
| 0x8 | 4 | u32 | length | Sourced | file: size; directory: one past the last child |
On GSNE8P the FST is at 0x1FD100 with 2,821 entries (2,819 files; event/ is the only subdirectory). All files lie inside the image: the largest file end is
0x52597780, the image size 0x57058000. main.dol is at 0x1E700 and 1,960,448 bytes. Observed
File kinds on the disc
Section titled “File kinds on the disc”| Kind | Files | Holds | Described in |
|---|---|---|---|
stgNND.rel, boss_*D.rel, ChaoStg*.prs |
stage modules | code and data of a stage: landtables, object lists, texture names | Stage modules |
landtxNN.prs, bgtexNN.prs and other .prs |
PRS-compressed GVM archives | the textures of a stage | Textures |
setNNNN_s.bin, _u, _2P, _HD |
object placement | the SET files | Object placement |
stgNN_light.bin, stgNN_light_gc.bin, stgNN_fog*.bin |
lighting | light slots and fog | Light and fog |
main.dol |
executable | start and end position tables | Object placement |
All Observed except the SET file name pattern, which is Sourced · SA Tools (SALVL’s convention).
The event/ directory is the only subdirectory of the disc and was not read.