In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "DOL"

From WiiBrew
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 Nintendo's latest two video game consoles.
+
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 heavily based on the elf file format.
+
 
{{Stub}}
+
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