The 3DSX format is an executable file-format designed for homebrew applications on the 3DS.
The file is structured like this:
- Header
- Code relocation table header
- Rodata relocation table header
- Data relocation table header
- Code segment
- Rodata segment
- Data segment
- Code relocation table
- Rodata relocation table
- Data relocation table
| Offset
|
Size
|
Description
|
| 0x0
|
4
|
Magic (3DSX)
|
| 0x4
|
2
|
Header size
|
| 0x6
|
2
|
Relocation Header size
|
| 0x8
|
4
|
Format version
|
| 0xC
|
4
|
Flags
|
| 0x10
|
4
|
Code segment size
|
| 0x14
|
4
|
Rodata segment size
|
| 0x18
|
4
|
Data segment size (including bss)
|
| 0x1C
|
4
|
Bss segment size
|
| Offset
|
Size
|
Description
|
| 0x0
|
4
|
Number of absolute relocations
|
| 0x4
|
4
|
Number of relative relocations
|
Relocation
| Offset
|
Size
|
Description
|
| 0x0
|
2
|
Number of words to skip
|
| 0x2
|
2
|
Number of words to patch
|