Edit contents of .dol file

cubes

Well-Known Member
OP
Member
Joined
Sep 16, 2016
Messages
159
Trophies
0
XP
520
Country
Germany
I would like to edit the .dol of a USB loader which contains hard coded splash screens that I would like to replace. Where do I start editing such a file?
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,403
Country
United Kingdom
Are you sure it contains the splash screens or is it just a reference to them?

Dol files are typically the binary, that being what the CPU runs, with everything else being supposed to be left to external files. That said I have innumerable examples across any number of platforms where the devs included non executable data in the binary (it is so easy and so tempting when coding something).

They are somewhat related to the ELF format which is basically the non Microsoft equivalent of PE format (which you would most likely associated with EXE).
http://wiibrew.org/wiki/Doltool https://wiibrew.org/wiki/DOL

That said if it is a hardcoded splash screen and you want to do graphics edits then I would instead use whatever tile editor you care to use (not sure what we are suggesting for the GC/Wii these days) and try to find it there.
There are any number of things from animations to tile maps that might make this edit harder but you still want to look for that.

Alternatively this may be a time you get to learn about tracing. As part of presumably the boot then in the graphics memory (which graphics viewers/texture viewers should show you) will appear the components of your splash screen.
In a debugging emulator (which can be harder for dolphin, might need to go for an older version), you would want to set a break on write to the memory area in question and then reset the game. When it loads back up with the data you want the emulator will hopefully have paused and said "this thing just wrote to it"
https://www.romhacking.net/documents/361/ is a bit old but the principle is the same. If indeed the splash screen is in the DOL file it will likely have read it directly from memory, if it is external you will need to follow that back up to the DVD read (or whatever).
 
  • Like
Reactions: cubes

cubes

Well-Known Member
OP
Member
Joined
Sep 16, 2016
Messages
159
Trophies
0
XP
520
Country
Germany
Yes, I'm 100% sure since you can choose from 4 splash screens using the .xml file of the dol. Thanks for the reply I will totally look into that :)
 

cubes

Well-Known Member
OP
Member
Joined
Sep 16, 2016
Messages
159
Trophies
0
XP
520
Country
Germany
Okay so I converted to .bin and .elf, but can't find any program to open/extract/view those.
Do you recommend any Tile viewer?
Btw I attached the original boot.dol that I'm trying to edit the images from. :) (Had to rename .dol extension to .txt or otherwise gbatemp wouldn't let me upload it)


Edit: I DID IT YAY
Unbenannt.PNG
 
Last edited by cubes,

XFlak

Wiitired but still kicking
Member
Joined
Sep 12, 2009
Messages
13,864
Trophies
3
Age
38
Location
Cyprus, originally from Toronto
Website
modmii.github.io
XP
9,895
Country
Cyprus
U can compile your own forwarder with your own splash

Or if u prefer the manual way, I'm pretty sure if u look at the dol in a hex editor, u should find the splash screen image near the very end. I've successfully extracted splash screen images from dol's this way (but this was a forwarder with just 1 splash, not 4, so it may be harder for u to identify where each splash starts and ends). In theory u could open a new image in a hex editor, and copy and paste it overwriting the old splash section of the dol. I think they would need to be the same size though (or the new image might still work if it's smaller and u null out the left over values of the old splash).

So yeah, in theory it can be done with a hex editor, but it's probably just as much effort if not more than just recompiling it from the source code using a new splash
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: Murica