Eldos Solid File System ST XFS: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| (18 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
=== Format Specifications === | === Format Specifications === | ||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width: | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:900px; overflow:auto;"> | ||
<pre> | <pre> | ||
// Eldos Solid File System | // Eldos Solid File System | ||
| Line 16: | Line 16: | ||
2 bytes (uint16) - unknown // 12 | 2 bytes (uint16) - unknown // 12 | ||
2 bytes (char) - magic // NW | 2 bytes (char) - magic // NW | ||
num_of_entries * | |||
{ | { | ||
2 bytes (uint16) - entry type // 33 - | 2 bytes (uint16) - entry type // 33 - directory info structure | ||
// 32 - any other structure with data? | // 32 - any other structure with data? | ||
// 0 - end structure or nothing | // 0 - end structure or nothing | ||
| Line 43: | Line 43: | ||
// unknown structure | // unknown structure | ||
4 bytes (uint32) - | 4 bytes (uint32) - entry type // 32 | ||
4 bytes (uint32) - | 4 bytes (uint32) - entry ID // e.g. 2 | ||
68-102 bytes - unknown | 68-102 bytes - unknown | ||
x bytes - padding | x bytes - padding | ||
| Line 53: | Line 53: | ||
// Note: First directory is always root, | |||
// then there are sructures for all sub-directories in the filesystem. | |||
num_of_directories * | num_of_directories * | ||
| Line 87: | Line 62: | ||
// 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 * | ||
{ | { | ||
8 bytes - unknown | 8 bytes - unknown | ||
4 bytes (uint32) - file attributes // e.g. 257 - file + hidden | 4 bytes (uint32) - directory or file attributes // e.g. 257 - file + hidden | ||
4 bytes (uint32) - file name length | // e.g. 2 - directory | ||
4 bytes (uint32) - directory or file name length | |||
4 bytes - nulls | 4 bytes - nulls | ||
44 bytes (char) - file name // e.g. "text3.txt" | 44 bytes (char) - directory or file name // e.g. "DIR_2" or "text3.txt" | ||
} | } | ||
| Line 132: | Line 108: | ||
Not written yet. | Not written yet. | ||
=== Attributes === | |||
This file format supports storing informmation about directory and file attributes.<br>Below tables lists all attributes names and values. | |||
{| class="wikitable sortable" | |||
|- | |||
! Attribute name !! Value (Hex) !! Value (Dec) | |||
|- | |||
| File || 0x01 || 1 | |||
|- | |||
| Directory || 0x02 || 2 | |||
|- | |||
| Compressed || 0x08 || 8 | |||
|- | |||
| Encrypted || 0x10 || 16 | |||
|- | |||
| SymLink || 0x20 || 32 | |||
|- | |||
| ReadOnly || 0x40 || 64 | |||
|- | |||
| Archive || 0x80 || 128 | |||
|- | |||
| Hidden || 0x100 || 256 | |||
|- | |||
| System || 0x200 || 512 | |||
|- | |||
| Temporary || 0x400 || 1024 | |||
|- | |||
| DeleteOnClose || 0x800 || 2048 | |||
|- | |||
| Reserved0 || 0x1000 || 4096 | |||
|- | |||
| Reserved1 || 0x2000 || 8192 | |||
|- | |||
| Reserved2 || 0x4000 || 16384 | |||
|- | |||
| Reserved3 || 0x8000 || 32768 | |||
|- | |||
| UserDefined || 0xFFFF0000 || 4294901760 | |||
|- | |||
| AnyFile || 0xFFFFFFFF || 4294967295 | |||
|- | |||
|} | |||
=== Notes and Comments === | === Notes and Comments === | ||
Latest revision as of 15:01, 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_entries *
{
2 bytes (uint16) - entry type // 33 - 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) - entry type // 32
4 bytes (uint32) - entry ID // e.g. 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.
// Note: First directory is always root,
// then there are sructures for all sub-directories in the filesystem.
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) - directory or file attributes // e.g. 257 - file + hidden
// e.g. 2 - directory
4 bytes (uint32) - directory or file name length
4 bytes - nulls
44 bytes (char) - directory or file name // e.g. "DIR_2" or "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.
Attributes
This file format supports storing informmation about directory and file attributes.
Below tables lists all attributes names and values.
| Attribute name | Value (Hex) | Value (Dec) |
|---|---|---|
| File | 0x01 | 1 |
| Directory | 0x02 | 2 |
| Compressed | 0x08 | 8 |
| Encrypted | 0x10 | 16 |
| SymLink | 0x20 | 32 |
| ReadOnly | 0x40 | 64 |
| Archive | 0x80 | 128 |
| Hidden | 0x100 | 256 |
| System | 0x200 | 512 |
| Temporary | 0x400 | 1024 |
| DeleteOnClose | 0x800 | 2048 |
| Reserved0 | 0x1000 | 4096 |
| Reserved1 | 0x2000 | 8192 |
| Reserved2 | 0x4000 | 16384 |
| Reserved3 | 0x8000 | 32768 |
| UserDefined | 0xFFFF0000 | 4294901760 |
| AnyFile | 0xFFFFFFFF | 4294967295 |
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