3DSX Format: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Created page with "The 3DSX format is an executable file-format designed for homebrew applications on the 3DS. The file is structured like this: * Header * Code segment * Rodata segment * Data seg..."
 
Ichfly (talk | contribs)
fixed size
Line 22: Line 22:
|-
|-
|  0x4
|  0x4
4
2
|  Header size
|  Header size
|-
|-
0x8
0x6
4
2
|  Relocation Header size
|  Relocation Header size
|-
|-
0xC
0x8
|  4
|  4
|  Format version
|  Format version
|-
|-
0x10
0xC
|  4
|  4
|  Flags
|  Flags
|-
|-
0x14
0x10
|  4
|  4
|  Code segment size
|  Code segment size
|-
|-
0x18
0x14
|  4
|  4
|  Rodata segment size
|  Rodata segment size
|-
|-
0x1C
0x18
|  4
|  4
|  Data segment size (including bss)
|  Data segment size (including bss)
|-
|-
0x20
0x1C
|  4
|  4
|  Bss segment size
|  Bss segment size

Revision as of 19:41, 14 November 2014

The 3DSX format is an executable file-format designed for homebrew applications on the 3DS.

The file is structured like this:

  • Header
  • Code segment
  • Rodata segment
  • Data segment
  • Relocation Header for code
  • Relocation Header for rodata
  • Relocation Header for data

Header

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

Relocation Header

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