Difference between revisions of "3DSX Format"
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...") |
(fixed size) |
||
Line 22: | Line 22: | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
− | | | + | | 2 |
| Header size | | Header size | ||
|- | |- | ||
− | | | + | | 0x6 |
− | | | + | | 2 |
| Relocation Header size | | Relocation Header size | ||
|- | |- | ||
− | | | + | | 0x8 |
| 4 | | 4 | ||
| Format version | | Format version | ||
|- | |- | ||
− | | | + | | 0xC |
| 4 | | 4 | ||
| Flags | | Flags | ||
|- | |- | ||
− | | | + | | 0x10 |
| 4 | | 4 | ||
| Code segment size | | Code segment size | ||
|- | |- | ||
− | | | + | | 0x14 |
| 4 | | 4 | ||
| Rodata segment size | | Rodata segment size | ||
|- | |- | ||
− | | | + | | 0x18 |
| 4 | | 4 | ||
| Data segment size (including bss) | | Data segment size (including bss) | ||
|- | |- | ||
− | | | + | | 0x1C |
| 4 | | 4 | ||
| Bss segment size | | Bss segment size |
Revision as of 18: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 |