Difference between revisions of "DOL"
Jump to navigation
Jump to search
(New page: The Dol file format is the main executable file format for Nintendo's latest two video game consoles. It is heavily based on the elf file format. {{Stub}} Category:File formats) |
m (added link) |
||
(9 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | The Dol file format is the main executable file format for | + | The '''Dol''' file format is the main executable [[:Category:File formats|file format]] for both the GameCube and the Wii. The name presumably refers to "Dolphin", which was the GameCube's codename. |
− | It is | + | |
− | { | + | It is a simple file format consisting of a header and up to 7 loadable code sections (Text0..Text6) and up to 11 data sections (Data0..Data10). All values in the header are unsigned big-endian 32-bit values. |
+ | |||
+ | Header: | ||
+ | {| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em;" | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #cdc;" | '''Start''' | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ccd;" | '''End''' | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ccc;" | '''Length''' | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dcc;" | '''Description''' | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x0 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x3 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | File offset to start of Text0 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x04 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x1b | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 24 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | File offsets for Text1..6 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x1c | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x47 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 44 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | File offsets for Data0..10 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x48 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x4B | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | Loading address for Text0 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x4C | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x8F | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 68 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | Loading addresses for Text1..6, Data0..10 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x90 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xD7 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 72 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | Section sizes for Text0..6, Data0..10 | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xD8 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xDB | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | BSS address | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xDC | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xDF | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | BSS size | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xE0 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xE3 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | Entry point | ||
+ | |- style="background-color: #ddd;" | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xE4 | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xFF | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | | ||
+ | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | padding | ||
+ | |- style="background-color: #ddd;" | ||
+ | |} | ||
+ | |||
[[Category:File formats]] | [[Category:File formats]] |
Latest revision as of 16:37, 24 May 2022
The Dol file format is the main executable file format for both the GameCube and the Wii. The name presumably refers to "Dolphin", which was the GameCube's codename.
It is a simple file format consisting of a header and up to 7 loadable code sections (Text0..Text6) and up to 11 data sections (Data0..Data10). All values in the header are unsigned big-endian 32-bit values.
Header:
Start | End | Length | Description |
0x0 | 0x3 | 4 | File offset to start of Text0 |
0x04 | 0x1b | 24 | File offsets for Text1..6 |
0x1c | 0x47 | 44 | File offsets for Data0..10 |
0x48 | 0x4B | 4 | Loading address for Text0 |
0x4C | 0x8F | 68 | Loading addresses for Text1..6, Data0..10 |
0x90 | 0xD7 | 72 | Section sizes for Text0..6, Data0..10 |
0xD8 | 0xDB | 4 | BSS address |
0xDC | 0xDF | 4 | BSS size |
0xE0 | 0xE3 | 4 | Entry point |
0xE4 | 0xFF | padding |