Marmalade SDK S3E: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(32 intermediate revisions by the same user not shown)
Line 11: Line 11:
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<pre>
<pre>
// header
// header (64 bytes)
4 bytes (char) - signature // "XE3U"
4 bytes (char) - signature // "XE3U"
4 bytes (uint32) - archive version  // e.g. 00 0F 04 00 = v4.15.0
2 bytes (uint16) - flags  // 0x01 - DEBUG
                          // 0x02 - GCC
                          // 0x04 - RVCT
2 bytes (uint16) - architecture  // e.g. 0x00 - ARM[0]
// Note: If section size or offset is "0", then section doesn't exist in the archive
4 bytes (uint32) - fixup section offset
4 bytes (uint32) - fixup section size
4 bytes (uint32) - code section offset
4 bytes (uint32) - code section size
4 bytes (uint32) - BSS size?
4 bytes (uint32) - signature section offset
4 bytes (uint32) - signature section size
4 bytes (uint32) - entry point  // e.g. 0x00
4 bytes (uint32) - config section offset
4 bytes (uint32) - config section size
4 bytes (uint32) - Base Address
4 bytes (uint32) - extra section offset
4 bytes (uint32) - extra section size
// extra header  (only if version > 4.9.0)
4 bytes (uint32) - extra header length  // 8
4 bytes (uint32) - data offset
// sections
x bytes - config section data (contains "app.icf" and "s3e.icf" config files)
x bytes - code section data / loadable data (code + data + BSS)
x bytes - fixup section data
x bytes - signature section data
x bytes - extra section data / license section data (188 bytes)


// TODO
</pre>
</pre>
</div>
</div>
Line 21: Line 61:


* This file format occurs in games made using '''Marmalade SDK'''.
* This file format occurs in games made using '''Marmalade SDK'''.
* Whole archive is compressed with '''LZMA''' compression.
* Whole archive may be compressed with '''LZMA''' compression or with '''ZLIB''' compression.


=== Games ===  
=== Games ===  
Line 30: Line 70:
* Expendable:Rearmed (needs confirmation)
* Expendable:Rearmed (needs confirmation)
* Lara Croft and the Guardian of Light (needs confirmation)
* Lara Croft and the Guardian of Light (needs confirmation)
* Resident Evil: Degeneration (*.S3E) (N-Gage / iOS)
* Metal Gear Solid Mobile (needs confirmation)
* Metal Gear Solid Mobile (needs confirmation)
* SimCity BuildIt (*.S3E)
* SimCity BuildIt (*.S3E)
Line 35: Line 76:
=== QuickBMS Script ===  
=== QuickBMS Script ===  


* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/Marmalade%20SDK/Marmalade_SDK_S3E_script.bms Marmalade_SDK_S3E_script.bms]
* [http://aluigi.org/bms/xe3u.bms xe3u.bms]
* [http://aluigi.org/bms/xe3u.bms xe3u.bms]


=== Compatible Programs ===  
=== Compatible Programs ===  


* Marmalade SDK (c:\Marmalade\8.6\s3e\bin\)
** s3e_info.py
* [https://github.com/knot126/Marmalade-Modding s3extract.py]
* [https://github.com/knot126/Marmalade-Modding s3extract.py]
* 7-zip (only for LZMA decompression)
* 7-zip (only for LZMA decompression)
Line 49: Line 93:




[[Category:Complete WIP|Marmalade SDK S3E]]
[[Category:Complete Almost Done|Marmalade SDK S3E]]
[[Category:Platform PC|Marmalade SDK S3E]]
[[Category:Platform PC|Marmalade SDK S3E]]
[[Category:CE Compressed|Marmalade SDK S3E]]
[[Category:CE Compressed|Marmalade SDK S3E]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Extension_s3e | Extension: s3e]]
[[Category:Extension_s3e | Extension: s3e]]
[[Category:BMS_None | BMS: None]]
[[Category:LZMA compression]]
[[Category:LZMA compression]]
[[Category:ZLIB compression]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 19:13, 31 July 2022

Back to index | Edit this page

S3E

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : XE3U


Format Specifications

// header (64 bytes)
4 bytes (char) - signature // "XE3U"
4 bytes (uint32) - archive version  // e.g. 00 0F 04 00 = v4.15.0
2 bytes (uint16) - flags  // 0x01 - DEBUG
                          // 0x02 - GCC
                          // 0x04 - RVCT
2 bytes (uint16) - architecture  // e.g. 0x00 - ARM[0]

// Note: If section size or offset is "0", then section doesn't exist in the archive

4 bytes (uint32) - fixup section offset
4 bytes (uint32) - fixup section size

4 bytes (uint32) - code section offset
4 bytes (uint32) - code section size

4 bytes (uint32) - BSS size?

4 bytes (uint32) - signature section offset
4 bytes (uint32) - signature section size

4 bytes (uint32) - entry point  // e.g. 0x00

4 bytes (uint32) - config section offset
4 bytes (uint32) - config section size

4 bytes (uint32) - Base Address

4 bytes (uint32) - extra section offset
4 bytes (uint32) - extra section size


// extra header  (only if version > 4.9.0)
4 bytes (uint32) - extra header length  // 8
4 bytes (uint32) - data offset


// sections
x bytes - config section data (contains "app.icf" and "s3e.icf" config files)
x bytes - code section data / loadable data (code + data + BSS)
x bytes - fixup section data
x bytes - signature section data
x bytes - extra section data / license section data (188 bytes)

Notes and Comments

  • This file format occurs in games made using Marmalade SDK.
  • Whole archive may be compressed with LZMA compression or with ZLIB compression.

Games

List of games using this file format:

  • Angry Birds POP! (needs confirmation)
  • Backbreaker (needs confirmation)
  • Bubble Mania (*.S3E) (Android)
  • Expendable:Rearmed (needs confirmation)
  • Lara Croft and the Guardian of Light (needs confirmation)
  • Resident Evil: Degeneration (*.S3E) (N-Gage / iOS)
  • Metal Gear Solid Mobile (needs confirmation)
  • SimCity BuildIt (*.S3E)

QuickBMS Script

Compatible Programs

  • Marmalade SDK (c:\Marmalade\8.6\s3e\bin\)
    • s3e_info.py
  • s3extract.py
  • 7-zip (only for LZMA decompression)

See Also