Difference between revisions of "Main.dol"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
'''main.dol''' is the name given to the main executable of [[Wii]] and [[GameCube]] games. It is not a named file on the game disk, but rather the name given to the section of the disk containing the main executable. It uses the [[DOL (File Format)|DOL format]]. [[Mario Kart Wii]]'s main.dol contains quite a lot of generic library code, but most of the game specific logic is in [[StaticR.rel]]. | '''main.dol''' is the name given to the main executable of [[Wii]] and [[GameCube]] games. It is not a named file on the game disk, but rather the name given to the section of the disk containing the main executable. It uses the [[DOL (File Format)|DOL format]]. [[Mario Kart Wii]]'s main.dol contains quite a lot of generic library code, but most of the game specific logic is in [[StaticR.rel]]. | ||
− | == | + | == Memory map of Mario Kart Wii (PAL) == |
+ | {| class="wikitable" | ||
+ | |+ main.dol sections | ||
+ | |- | ||
+ | ! Name<ref>[https://www.nxp.com/docs/en/user-guide/CWPABTR.pdf], CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, table 14-1</ref> | ||
+ | ! Start | ||
+ | ! End | ||
+ | ! Size | ||
+ | ! Type (text/data) | ||
+ | |- | ||
+ | | <code>.init</code> | ||
+ | | 0x80004000 | ||
+ | | 0x80006460 | ||
+ | | 0x2460 | ||
+ | | text | ||
+ | |- | ||
+ | | <code>extab</code> | ||
+ | | 0x80006460 | ||
+ | | 0x80006a20 | ||
+ | | 0x5c0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>extabindex</code> | ||
+ | | 0x80006a20 | ||
+ | | 0x800072c0 | ||
+ | | 0x8a0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.text</code> | ||
+ | | 0x800072c0 | ||
+ | | 0x80244de0 | ||
+ | | 0x23db20 | ||
+ | | text | ||
+ | |- | ||
+ | | <code>.ctors</code> | ||
+ | | 0x80244de0 | ||
+ | | 0x80244ea0 | ||
+ | | 0xc0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.dtors</code> | ||
+ | | 0x80244ea0 | ||
+ | | 0x80244ec0 | ||
+ | | 0x20 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.rodata</code> | ||
+ | | 0x80244ec0 | ||
+ | | 0x80258580 | ||
+ | | 0x136c0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.data</code> | ||
+ | | 0x80258580 | ||
+ | | 0x802a4040 | ||
+ | | 0x4bac0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.bss</code> | ||
+ | | 0x802a4080 | ||
+ | | 0x80384c00 | ||
+ | | 0xe0b80 (defined 0xe50fc in the header)<ref name="sda">[[DOL_(File_Format)#Small_data_sections]] DOL SDA implementation</ref> | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.sdata<ref name="sda" /></code> | ||
+ | | 0x80384c00 | ||
+ | | 0x80385fc0 | ||
+ | | 0x13c0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.sbss<ref name="sda" /></code> | ||
+ | | 0x80385fc0 | ||
+ | | 0x80386fa0 | ||
+ | | 0xfe0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.sdata2<ref name="sda" /></code> | ||
+ | | 0x80386fa0 | ||
+ | | 0x80389140 | ||
+ | | 0x21a0 | ||
+ | | data | ||
+ | |- | ||
+ | | <code>.sbss2<ref name="sda" /></code> | ||
+ | | 0x80389140 | ||
+ | | 0x8038917c | ||
+ | | 0x3c | ||
+ | | data | ||
+ | |} | ||
− | + | == See also == | |
− | + | <references /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
[[category:Filesystem]] | [[category:Filesystem]] |
Revision as of 22:49, 16 September 2022
main.dol is the name given to the main executable of Wii and GameCube games. It is not a named file on the game disk, but rather the name given to the section of the disk containing the main executable. It uses the DOL format. Mario Kart Wii's main.dol contains quite a lot of generic library code, but most of the game specific logic is in StaticR.rel.
Memory map of Mario Kart Wii (PAL)
Name[1] | Start | End | Size | Type (text/data) |
---|---|---|---|---|
.init
|
0x80004000 | 0x80006460 | 0x2460 | text |
extab
|
0x80006460 | 0x80006a20 | 0x5c0 | data |
extabindex
|
0x80006a20 | 0x800072c0 | 0x8a0 | data |
.text
|
0x800072c0 | 0x80244de0 | 0x23db20 | text |
.ctors
|
0x80244de0 | 0x80244ea0 | 0xc0 | data |
.dtors
|
0x80244ea0 | 0x80244ec0 | 0x20 | data |
.rodata
|
0x80244ec0 | 0x80258580 | 0x136c0 | data |
.data
|
0x80258580 | 0x802a4040 | 0x4bac0 | data |
.bss
|
0x802a4080 | 0x80384c00 | 0xe0b80 (defined 0xe50fc in the header)[2] | data |
.sdata[2]
|
0x80384c00 | 0x80385fc0 | 0x13c0 | data |
.sbss[2]
|
0x80385fc0 | 0x80386fa0 | 0xfe0 | data |
.sdata2[2]
|
0x80386fa0 | 0x80389140 | 0x21a0 | data |
.sbss2[2]
|
0x80389140 | 0x8038917c | 0x3c | data |