Eldos Solid File System ST XFS: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 87: | Line 87: | ||
// directory info structure | // directory info structure | ||
4 bytes (uint32) - entry type // 33 | 4 bytes (uint32) - entry type // 33 | ||
4 bytes (uint32) - entry ID // 7 | 4 bytes (uint32) - entry ID // e.g. 7 | ||
24 bytes - unknown | 24 bytes - unknown | ||
num_of_files_in_directory * | num_of_files_in_directory * | ||
Revision as of 13:50, 28 February 2021
Back to index | Edit this page
ST, XFS
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
// Eldos Solid File System
// ST, XFS file format
// header
2 bytes (uint16) - unknown // 12
2 bytes (char) - magic // NW
num_of_values *
{
2 bytes (uint16) - entry type // 33 - root info structure or directory info structure
// 32 - any other structure with data?
// 0 - end structure or nothing
}
x bytes - padding
// file system info?
2 bytes (char) - magic // NW
2 bytes - nulls
2 bytes - unknown // 1
8 bytes - nulls
4 bytes - next line characters // \x0D\x00\x0A\x00
124 bytes (char) - storage logo name // default is "SolFS for Windows (c) EldoS Corporation\n"
5 bytes - nulls
4 bytes (uint32) - unknown // 4
4 bytes (uint32) - unknown // 260, 516, 1028, 1540 or 2308
4 bytes (uint32) - unknown // 256, 1792, 4608, 12288 or 12800
93 bytes - unknown
4 bytes (uint32) - some CRC value // e.g. \x95\xAF\x25\x3B
x bytes - padding
// unknown structure
4 bytes (uint32) - type1 // 32
4 bytes (uint32) - type2 // 2
68-102 bytes - unknown
x bytes - padding
// Note: data ends right after this structure
// when there are no files and no directories in the XFS/ST file.
// root info structure
4 bytes (uint32) - type1 // 33
4 bytes (uint32) - type2 // 3
4 bytes - nulls
4 bytes (uint32) - unknown // 2
16 bytes - unknown
num_of_directories *
{
// root entry (64 bytes per entry)
4 bytes (uint32) - ID_1?
4 bytes (uint32) - ID_2?
4 bytes (uint32) - entry type? // 1 - file
// 2 - directory
4 bytes (uint32) - unknown // 8, 9 or 13
4 bytes - nulls
44 bytes (char) - directory name or file name // e.g. "Text files" or "text1.txt"
}
x bytes - padding
// root file data structures
num_of_root_files *
{
x bytes - file data structure // see explanation below
x bytes - padding
}
num_of_directories *
{
// directory info structure
4 bytes (uint32) - entry type // 33
4 bytes (uint32) - entry ID // e.g. 7
24 bytes - unknown
num_of_files_in_directory *
{
8 bytes - unknown
4 bytes (uint32) - file attributes // e.g. 257 - file + hidden
4 bytes (uint32) - file name length
4 bytes - nulls
44 bytes (char) - file name // e.g. "text3.txt"
}
num_of_files_in_directory *
{
// file data structure
4 bytes (uint32) - entry type // 32
4 bytes (uint32) - entry ID // e.g. 8
44 bytes - unknown
8 bytes (double) - creation time
8 bytes (double) - modification time
8 bytes (double) - last access time
4 bytes (uint32) - file size
16 bytes - unknown
x bytes - file data
x bytes - padding
}
}
num_of_directories *
{
// end structure
4 bytes (uint32) - entry type // 0
4 bytes (uint32) - entry ID // e.g. 17
x bytes - padding
}
MultiEx BMS Script
Not written yet.
Notes and Comments
- This is format used by Eldos Solid File System.
- Files can be encrypted with AES and compressed with ZLIB. Whole archive may be encrypted with AES. Custom encryption is also supported.
- Padding size depends on page size which can be set to 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 or 65536 bytes.
Games
List of games using this file format:
- Rakion
- Rakion Chaos Force
Compatible Programs
See Also