bk-undub-tools ~~~~~~

A set of tools used to undub Baten Kaitos, a Gamecube JRPG developed by Monolith Soft and tri-Crescendo.

WARNING: these tools have not been tested a lot, and I can't promise that there are no bugs. If you want to play the game in the best conditions, wait for a stable release of these tools.

What can this be used for?

Most games can be "trivially" undubbed by copying audio files from the JP version to overwrite those of the US versions. However, this "simple" approach does not work with Baten Kaitos, for multiple versions:

  • The filenames are optimized/obfuscated. There is no directory tree, no file extension which could indicate what file contains what data. All files are named FILE_<hex32>, with the exception of "index.bin".

  • Almost all file formats are custom, requiring extra work to analyze what data to copy. Some compression formats used by the game are also custom (AFAICT, dictionary based without a compressing bitstream like Huffman).

  • The disc is already quite packed and it's hard to find extra space. Some sounds need to be reencoded.

  • The "index.bin" file is used to find all files and thus need to contain valid values. When we copy/create files it must be updated.

As far as I know, I am the first person to make such an undub version of BK.

How to use these tools?

First, you will most likely need to be running a recent Linux distro to use these tools. Mac OS X may work but is not supported (patches are welcomed!). Windows probably won't work unless you're using something like Cygwin.

Use GC Rebuilder (works with mono, export MONO_IOMAP=all for dirsep issues) to extract data from US and JP discs. Then, use the undub.sh script like this:

./undub.sh <us-dir> <jp-dir> <out-dir>

If everything works fine, the out-dir you specified will contain all the necessary data to build an undubbed ISO. Then, use GC Rebuilder (check the box in Options / Do not use game.toc) to build the ISO.

URL to download GC Rebuilder:


Additional considerations

If you distribute an undubbed version of Baten Kaitos (that's illegal, don't do it!), please consider crediting my work by mentioning my name (delroth) and linking to this project page or to my blog (http://blog.delroth.net/) :-)

These tools are distributed under the GPLv2 license. Please report any bug you can find and/or contribute patches!

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.