# Pokémon Emerald: a matching Game Boy Advance decompilation

> Reconstructs Pokémon Emerald for the Game Boy Advance as buildable C source, with game scripts and data kept as assembler directives. The default agbcc build produces pokeemerald.gba, and make compare checks it against the SHA-1 of the original English ROM; an optional modern-GCC build is not hash-checked. Graphics and audio sources are committed in the tree, so the documented build reads no base ROM.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-18
- Original resource: <https://github.com/pret/pokeemerald>
- Primary source: <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/README.md>
- Catalog page: <https://awesomerea.org/resources/pokemon-emerald-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/pokemon-emerald-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/pokemon-emerald-decomp-case/index.md)

## Requirements & limits

- **Prerequisites:** The documented build reads no original ROM: graphics, audio samples and map data are committed as PNG, WAV/AIF and JSON files and converted by bundled tools. rom.sha1 records the target English release as SHA-1 f3ae088181bf583e55daf962a92bb46f4f1d07b7, and README links that ROM’s No-Intro record.
- **Prerequisites:** INSTALL.md covers Windows (WSL1 recommended; msys2 or Cygwin), macOS and Linux. On Debian/Ubuntu it lists build-essential, binutils-arm-none-eabi, git and libpng-dev; the matching build also needs pret/agbcc built and installed into the tree. make modern instead uses devkitARM’s arm-none-eabi-gcc and writes pokeemerald_modern.gba.
- **Scope:** README describes a decompilation of Pokémon Emerald that builds a single ROM, pokeemerald.gba; the Makefile sets game code BPEE, revision 0, and CI builds the English version. Most game code is C, while startup code, part of the m4a sound library and the GameCube multiboot library remain assembly files, and three multiboot programs (berry fix, Colosseum, e-Reader) are included as prebuilt .gba binaries. The output is a GBA ROM, not a native PC port.
- **Testing evidence:** make compare runs a SHA-1 check of the built ROM against rom.sha1 and reports pokeemerald.gba: OK on a match; the Makefile notes that comparison only makes sense for non-modern builds. CI builds with COMPARE=1 and also builds the modern target. These checks establish byte identity for this one release.
- **License:** The repository has no top-level license file and GitHub detects none; license files cover only some bundled tools, and agbcc’s GCC sources carry GPL v2. The original game’s code, graphics and audio remain subject to their rights holders.

## Primary sources

1. <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/README.md>
2. <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/INSTALL.md>
3. <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/Makefile>
4. <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/rom.sha1>
5. <https://github.com/pret/pokeemerald/blob/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/.github/workflows/build.yml>
6. <https://github.com/pret/pokeemerald/tree/731ad5bfd6e6f265508d0efcca0ba42f9dcf5881/tools>
7. <https://github.com/pret/agbcc/blob/da598c1d918402c42c0c0d7128ba14567f3175e9/gcc/COPYING>

## More in Games

- [Pokémon FireRed and LeafGreen: a matching Game Boy Advance decompilation](https://awesomerea.org/resources/pokemon-firered-leafgreen-decomp-case/index.md) · Case study
- [Pokémon HeartGold and SoulSilver: a work-in-progress, checksum-matched DS disassembly](https://awesomerea.org/resources/pokemon-heartgold-soulsilver-disassembly-case/index.md) · Case study
- [Pokémon Platinum: a checksum-matched Nintendo DS decompilation](https://awesomerea.org/resources/pokemon-platinum-decomp-case/index.md) · Case study
- [pw: a matching decompilation of the Pokéwalker firmware](https://awesomerea.org/resources/pokewalker-matching-decomp-case/index.md) · Case study
- [Ratchet & Clank: a matching PS2 decompilation with a documented agent workflow](https://awesomerea.org/resources/rac1-matching-decomp-case/index.md) · Case study
- [re4: a byte-identical decompilation of the Resident Evil 4 GameCube debug build](https://awesomerea.org/resources/re4-gamecube-debug-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
