> ## 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.

# Introduction

> pokeemerald is a complete C and Assembly decompilation of Pokémon Emerald for the Game Boy Advance, maintained by the pret community.

## 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](https://pret.github.io/) 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 file       | SHA1 checksum                              |
| ----------------- | ------------------------------------------ |
| `pokeemerald.gba` | `f3ae088181bf583e55daf962a92bb46f4f1d07b7` |

## 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](https://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.

## Legal and ethical context

<Note>
  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.
</Note>

## Get started

<CardGroup cols={2}>
  <Card title="Installation" icon="wrench" href="/installation">
    Set up the build environment on Windows, macOS, or Linux.
  </Card>

  <Card title="Building" icon="hammer" href="/building">
    Compile pokeemerald.gba and verify it against the original.
  </Card>

  <Card title="Project structure" icon="folder-open" href="/overview/project-structure">
    Understand how the source tree is organized.
  </Card>

  <Card title="Contributing" icon="code-pull-request" href="/contributing/guidelines">
    Learn how to contribute improvements back to the project.
  </Card>
</CardGroup>
