Skip to content

ditto-salsa/fe11-us

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fire Emblem: Shadow Dragon

This is a decompilation of Fire Emblem: Shadow Dragon (NDS), powered by ds-decomp.

It builds the following ROM:

  • fe11_usa.nds: sha1: 7b7b307ef819ac31a7b71aed2e8e47ff23c1765e

Setup

Prerequisites

  1. Use one of these platforms:

    • Windows (recommended)
    • Linux
  2. Install the following:

    • Python 3.11+ and pip
    • GCC 9+
    • Ninja
    • On Linux: Wine/Wibo
  3. Install the Python dependencies:

    python -m pip install -r tools/requirements.txt
  4. Run the setup script:

    python tools/setup.py
  5. Run the Ninja configure script:

    python tools/configure.py usa

    [!IMPORTANT] Rerun configure.py often to ensure that all C code gets compiled.

    [!NOTE] For Linux users: If you plan to use Wibo instead of Wine, run configure.py with -w <path/to/wibo>.`

  6. Put one or more base ROMs in the /extract/ directory of this repository.

Now you can run ninja to build a ROM for the chosen version. Currently, only the US version is supported.

Matching the base ROM

This is optional! You only need to follow these steps if you want a matching ROM.

First, extract the ARM7 BIOS from your DS device. Put the ARM7 BIOS in the root directory of this repository, and verify that your dumped BIOS matches the one below:

File name SHA1
arm7_bios.bin 24f67bdea115a2c847c8813a262502ee1607b7df

Now, rerun configure.py so it can update build.ninja to build a matching ROM.

Contributing

This project uses the object diffing tool objdiff to track differences between our decompiled C code and the base ROM's code.

  1. Download the latest release.
  2. Run configure.py usa and ninja to generate objdiff.json in the repository root.
  3. In objdiff, set the project directory to the repository root.
  4. Select your source file in the left sidebar.
  5. See the list of functions and data to decompile.

Note

If a source file is missing in objdiff, or objdiff fails to build a file, first rerun objdiff.py to update objdiff.json. If the problem persists, feel free to ask for help.

See also

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 90.8%
  • Python 9.2%