Skip to content

The GameCube disc and its files

SEGA Ninja (SA2)Archives and filesApplies toSA2B

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

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

FST entry12 bytesSA2B0% known

Big-endian.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x01u8is directorySourcedYAGCD
0x13u24name offsetSourcedinto the string table
0x44u32offsetSourcedfile: position in the image; directory: parent index
0x84u32lengthSourcedfile: 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

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).

What do the event files hold?

The event/ directory is the only subdirectory of the disc and was not read.