-
Notifications
You must be signed in to change notification settings - Fork 5
Using DolRecomp
Now that you have successfully built DolRecomp on your PC. Here's a guide on how to recompile GameCube DOLs, Wii DOLs, and even Wii U RPXs!
You will first need to extract the .dol file from your GameCube ISO rom. This can be done using Dolphin Emulator, or, you can use DolRecomp's built-in disc extractor.
dolrecomp.exe extract path\to\iso extracted
dolrecomp.exe extract path\to\wbfs extractedNote: Currently. The Disk extractor only accepts
.iso and .wbfs. Support for.gcmandrvzmay arrive in future updates.
- Ensure GameCube ISO is on path
- Right click on game and select properties
- Select the filesystems tab
- Right click the disc at the top and select Extract Entire Disc then choose the folder
- In the extracted folder it will be in DATA/sys/main.dol
Once you have that extracted. You can now run DolRecomp with it!
You can simply do so by using this command
dolrecomp.exe --gamecube path\to\main.dol buildThe "build" argument is where the recompiled output folder is stored. If you do not wish to store it this way, you can simply run:
dolrecomp.exe --gamecube path\to\main.dolWhich will only generate the recompiled output folder in the directory where you are running dolrecomp.exe.
Here i've used DolRecomp to recompile the extracted main.dol file from the Luigi's Mansion USA (GLME01) ROM .iso:
=== DOL Info ===
entry point: 0x80003100
game: GameCube DOL
BSS: 0x803968E0 (0x142F8D bytes)
text sections:
[0] file:0x00000100 -> addr:0x80003100 size:0x000023C0
[1] file:0x000024C0 -> addr:0x80005760 size:0x00206360
data sections:
[0] file:0x00208820 -> addr:0x800054C0 size:0x00000180
[1] file:0x002089A0 -> addr:0x80005640 size:0x00000120
[2] file:0x00208AC0 -> addr:0x8020BAC0 size:0x00000320
[3] file:0x00208DE0 -> addr:0x8020BDE0 size:0x00000020
[4] file:0x00208E00 -> addr:0x8020BE00 size:0x0000C300
[5] file:0x00215100 -> addr:0x80218100 size:0x0017E7E0
[6] file:0x003938E0 -> addr:0x804CFF60 size:0x00008080
[7] file:0x0039B960 -> addr:0x804D9880 size:0x000040C0
cpu: Gekko (GameCube)
generating code...
writing output to: .\generated\generated.c
decoding text[0]: 2288 instructions at 0x80003100
2288 decoded, 644 known, 1644 embedded data, 0 unknown
writing 1 chunks with 1 job
decoding text[1]: 530648 instructions at 0x80005760
530648 decoded, 529094 known, 1554 embedded data, 0 unknown
writing 130 chunks with 1 job
warning: this DOL may patch executable memory at runtime. generated code many need additional patches
possible patching instructions:
0x80003308-0x80003308
0x800036C0-0x800036C0
0x80007498-0x800074A0
0x8001F74C-0x8001F754
0x8001F760-0x8001F760
0x8001F774-0x8001F774
0x8001F7A4-0x8001F7A4
0x8001F7AC-0x8001F7AC
...
full list: .\generated\generated_smc.txt
done!
header: .\generated\generated.h
chunks: .\generated\chunks (131 files)