Skip to content

Using DolRecomp

smallington edited this page Jun 27, 2026 · 12 revisions

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!

Usage

1. GameCube:

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\iso extracted

Note: Currently. The Disk extractor only accepts .iso and .wbfs. Support for .gcm and rvz may arrive in future updates.

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 build

The "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.dol build

Which 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)

Clone this wiki locally