Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/pret/pokeemerald/llms.txt

Use this file to discover all available pages before exploring further.

What is pokeemerald?

pokeemerald is a complete decompilation of Pokémon Emerald for the Game Boy Advance, written in C and ARM Assembly. Maintained by the pret community, the project reverse-engineered the original game into readable, compilable source code. When built, it produces a ROM that is byte-for-byte identical to the original retail release:
Output fileSHA1 checksum
pokeemerald.gbaf3ae088181bf583e55daf962a92bb46f4f1d07b7

The pret project

pret (Pokémon Reverse Engineering Tools) is a community dedicated to decompiling and disassembling the mainline Pokémon games. pokeemerald is one of several pret projects — others include decomps of Pokémon Red/Blue, Gold/Silver, FireRed/LeafGreen, and more. You can find the full list of pret projects and community contacts at pret.github.io.

What you can do with it

  • Study the game code — read and understand how battle mechanics, AI, scripting, and game systems are implemented in the original game.
  • Create ROM hacks — modify the source directly in C and Assembly rather than patching a binary, enabling deeper and more maintainable changes.
  • Learn GBA game development — the codebase is a real-world example of a production GBA title, covering graphics, audio, memory management, and hardware interaction.
pokeemerald is not affiliated with, endorsed by, or produced by Nintendo, Game Freak, or The Pokémon Company. You must own a legitimate copy of Pokémon Emerald to legally use this project. Do not distribute the compiled ROM.

Get started

Installation

Set up the build environment on Windows, macOS, or Linux.

Building

Compile pokeemerald.gba and verify it against the original.

Project structure

Understand how the source tree is organized.

Contributing

Learn how to contribute improvements back to the project.