Difference between revisions of "Eldos Solid File System ST XFS"

From XentaxWiki
Jump to: navigation, search
(See Also)
(Format Specifications)
Line 32: Line 32:
 
5 bytes - nulls
 
5 bytes - nulls
 
4 bytes (uint32) - unknown // 4
 
4 bytes (uint32) - unknown // 4
4 bytes (uint32) - unknown // 260, 516, 1028 or 1540
+
4 bytes (uint32) - unknown // 260, 516, 1028, 1540 or 2308
4 bytes (uint32) - unknown // 256, 1792, 4608 or 12800
+
4 bytes (uint32) - unknown // 256, 1792, 4608, 12288 or 12800
 
93 bytes - unknown
 
93 bytes - unknown
 
4 bytes - some CRC value  // e.g. \x95\xAF\x25\x3B
 
4 bytes - some CRC value  // e.g. \x95\xAF\x25\x3B
Line 52: Line 52:
  
  
// directory info structure
+
// root info structure
 
4 bytes (uint32) - type1  // 33
 
4 bytes (uint32) - type1  // 33
 
4 bytes (uint32) - type2  // 3
 
4 bytes (uint32) - type2  // 3
 
4 bytes - nulls
 
4 bytes - nulls
 
4 bytes (uint32) - unknown  // 2
 
4 bytes (uint32) - unknown  // 2
4 bytes - nulls
+
16 bytes - unknown
32-76 bytes - unknown
+
 
 
num_of_directories *
 
num_of_directories *
 
{
 
{
     4 bytes (uint32) - unknown  // 2, 4 or 5
+
    // root entry (64 bytes per entry)
     4 bytes (uint32) - unknown // 4, 6 or 8
+
     4 bytes (uint32) - ID_1?
     4 bytes (uint32) - unknown // 1 or 2
+
     4 bytes (uint32) - ID_2?  
     4 bytes (uint32) - unknown  // 8 or 13
+
     4 bytes (uint32) - entry type? // 1 - file
 +
                                    // 2 - directory
 +
     4 bytes (uint32) - unknown  // 8, 9 or 13
 
     4 bytes - nulls
 
     4 bytes - nulls
     44 bytes (char) - directory name // e.g. "Text files"
+
     44 bytes (char) - directory name or file name // e.g. "Text files" or "text1.txt"
 
}
 
}
 
x bytes - padding
 
x bytes - padding

Revision as of 22:20, 26 February 2021

Back to index | Edit this page

ST, XFS


Format Specifications

// Eldos Solid File System 
// ST, XFS file format

// header
2 bytes - unknown // 12
2 bytes (char) - magic  // NW
num_of_values *
{
  2 bytes - some value  // 33 or 32
}
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 - 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



// file info structure
number_of_files_in_directory *
{
   4 bytes (uint32) - type1  // 32
   4 bytes (uint32) - type2  // 4 or 5
   88 bytes - unknown
   x bytes - file data
}
x bytes - padding


// unknown structure
4 bytes (uint32) - type1  // 32
4 bytes (uint32) - type2  // 6
42 bytes - unknown
24 bytes - unknown  // "fJaR...@fJaR...@fJaR...@"
8 bytes - nulls
4 bytes (uint32) - some size?
4 bytes - nulls
4 bytes (uint32) - unknown // 7
x bytes - padding



// filenames structure
4 bytes (uint32) - type1  // 33
4 bytes (uint32) - type2  // 7

num_of_files *
{
   44 bytes - some file attributes?
   44 bytes - file name  // e.g. "text1.txt"
}
x bytes - padding


// file data structure
4 bytes (uint32) - type1  // 32
4 bytes (uint32) - type2  // 4
88 bytes - unknown
x bytes - file data
x bytes - padding


// unknown structure
4 bytes (uint32) - type1  // 0
4 bytes (uint32) - type2  // 5
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