U8 (File Format)

From Wexos's Wiki
Jump to navigationJump to search

U8 is an archive format containing a hierarchical file system.

File Format

Header

The file starts with the following header:

Offset Type Description
0x00 UInt32 File magic. Always U.8-.
0x04 UInt32 Root file entry offset.
0x08 UInt32 Size of node table and string table in bytes.
0x0C UInt32 File data start offset.
0x10 UInt32[4] Reserved. Filled with 0xCC.

File Entry

Each file entry has the following structure:

Offset Type Description
0x00 Byte Entry type. File = 0, Directory = 1.
0x01 UInt24 File entry name offset, relative to the start of the string table.
0x04 UInt32 File: File data offset.
Directory: Parent file entry index.
0x08 UInt32 File: File data size in bytes.
Directory: Index of the first file entry that is not part of this directory.

String Table

After all nodes comes all strings. It consists of null-terminated strings which are folder and file names.

Tools

The following tools can handle U8 files: