A matching decompilation of Kingdom Hearts: Chain of Memories for the Game Boy Advance.
Important
This repository does not contain any game assets or ROMs. An existing copy of the game is required to build.
Note
This fork adds Arch Linux setup tooling on top of the decompilation: a prerequisite checker, an idempotent bootstrap, and a build wrapper that works without the ARM cross compiler. It does not change any decompiled source — see CONTRIBUTING.md to build from a clean checkout.
The project can target the following versions:
| Version | Code | SHA-1 |
|---|---|---|
us |
B8CE | 10729bd884f8fdca7a310b6d606c52e46657aa48 |
jp |
B8CJ | 59ec0a0a4ccd1e6acb3bbd7bfb21d63988958cfa |
eu |
B8CP | 8db73586cdb11b3795907edebf43228dbcd3e6b2 |
On Arch Linux:
sudo pacman -S --needed base-devel git ninja python arm-none-eabi-binutils libpng zliblibpng and zlib are what gbagfx links against, and asset extraction shells
out to gbagfx, so all of the above is needed. Everything else — the Python
packages in a virtualenv, arm-none-eabi-cpp, agbcc
and gbagfx itself — is handled by tools/bootstrap.sh.
See CONTRIBUTING.md for the full from-scratch setup. The one
non-obvious part is arm-none-eabi-cpp: it is written into build.ninja as a
literal, so CPP=cpp does not stand in for it and ninja has to be run through
tools/build.sh.
-
Clone the repository:
git clone https://github.com/dexedrne/khcom.git
-
Install the packages above, then bootstrap:
sh tools/bootstrap.sh
-
Copy your legally dumped ROM(s) into
roms/as<code>.gba(e.g.roms/B8CE.gba). -
Extract assets and build:
./.venv/bin/python tools/extract_assets.py tools/build.sh
To use a version other than
us, specify it with--version:./.venv/bin/python tools/extract_assets.py jp tools/build.sh --version jp
This project is released under the CC0 1.0 Universal license.