How to edit the region code of a Nintendo GameCube ISO
by SGYT
This tutorial will show you how to edit the region code of a Nintendo GameCube ISO.
Contrary to many beliefs, Dolphin Emulator and even the GameCube itself does not detect a GameCube ISO's region via the "Game ID".
Now you might be asking, what's a game ID?
A game ID is an ID listed at the first few sectors of every GC ISO, which is basically just there to let the developers know what game they're working on. For example, Luigi's Mansion's USA gameID is GLME01. The E in GLME01 is labelling it as American. For Europe/Australia, it would be P. For Japan, J.
Changing this off the bat doesn't magically change the region of an ISO. It does nothing. It'll still be detected as whatever region it was originally listed as in the ID.
"So how do I change the region code?"
It's easier than one might think.
Open your GameCube ISO in a hex editor of your choice (I utilize HxD)
Go to the offset 0x45B.
At this offset, there will be a value. If your ISO is American, it'll be listed as 01. If it's Japanese, 00. Europe/Australia is 02. (Anything higher or lower than this is invalid.)
So yeah, simply change it to anything you like. Bam! You've successfully edited the region of a GC ISO!
Minor Technical Details
Every GC ISO has a file named bi2.bin.
This .BIN file determines the region. If you're extracting with GCR however, this file won't be found. It's all in ISO.HDR in GCR extracted roots.
There seems to be a way to create "Region-Free" GCN discs, but I do not have an idea on how to do that. This was done by Datel in their earlier Action Replay discs. According to people from the GameCube modding scene, Datel exploited the AppLoader.img/ldr file to live-patch the GameCube "IPL" (menu) to make it region-free until power off. I have not figured out how to do this, but if I ever do, I will create a tutorial on it. AppLoader is a small program layer between GC bootrom and main application.