After weeks of searching, I finally found a solution to change the hard coded splash screens of CFG USB Loader. While it's really simple, I found zero tutorials for it online and wanted to share my knowledge with anyone interested. Personally, I love customizing my apps to the max! Normally, you can only choose between 4 hard coded splash screens.
Note: After this tutorial you may not be able to use the other hard coded splash screens anymore. Restoring them simply requires replacing the edited boot.dol with a fresh one.
WHAT YOU NEED:
Configurable USB-Loader Mod. (Latest version, r78.11, click)
Any hex editor. (I will use HxD, click)
Any text editor.
Any picture editing program. (I will use Paint.NET, click)
STEPS:
1.
We will be replacing/editing this splash screen ( which normally is hardcoded inside the boot.dol (located in apps/USBLoader/). You can replace any other, however, it is the easiest to replace this one:
This means we first have to select it, by editing the meta.xml (located in apps/USBLoader/). You can do that by using the "CfgLoaderConfigurator" (ships with any CFG USB Loader install) or any text editor:
(Overwriting the meta.xml)
OR:
(Adding the following lines of code)
<arguments>
<arg>intro = 2</arg>
</arguments></app>
OR:
Replace your /apps/USBLoader/meta.xml with mine. (click)
2.
Now, launch Configurable USB-Loader through the homebrew channel and see if it changed the boot logo to the one above. This should work since it's intended by the dev and a normal configuration.
If it did, it is now time to extract it.
Open /apps/USBLoader/boot.dol inside your hex editor.
If you use HxD, press CTRL+E to select the following offsets:
(Beginning-Offset: 188000)
(End-Offset: 18FD4F)
This will highlight the hex code of where our chosen splash screen image is located inside the boot.dol. To extract it, simply copy the highlighted data, paste it inside a new file, and save it as *anyname*.png.
Now, right-click the still highlited data of our image and fill the hax values with zeros:
Which will make it look like this:
Hit save, but keep it open for later. We now successfully exported and cut the splash screen out of the boot.dol.
You can now edit your saved *anyname*.png to your liking using any image editor:
(46,5 kb)
Just make sure to keep the same window size (640x480) and format (png).
3.
When you are finished, it's time to re-insert our *anyname*.png into the boot.dol.
Inside the boot.dol, go back to the offset (h) where we previously cut out our splash screen. In HxD, you can achieve that by pressing CTRL+G and again inserting the starting offset 188000.
Now we know where to insert our custom splash screen.
Open *anyname*.png inside the hex editor in another window and highlight all data using CTRL+A.
Now, we simply right click and copy our custom splash screen data an insert it inside the boot.dol at offset 188000 at the first byte. (Right click, write)
Don't worry if it overwrites the other PNG files. Those are just the other splash screens and unimportant hard coded png's and backgrounds which can be replaced with any theme. The footer 49 45 4E 44 AE 42 60 82 will tell the USB loader when to stop reading the PNG image.
If the file is too big it can happen that the USB loader won't boot, so be careful. (A corrupted boot.dol will do no harm and can be easily replaced without loosing configs)
SAVE. We're done!
RESULTS:
Edit 11/2024: Re-added pictures from Wayback machine.