Metroid: Zero Mission Decompilation
Metroid: Zero Mission
OrigenGame Boy Advance
TecnologíaDescompilación y Reconstrucción en C/C++
Disponible paraWindows, Linux, macOS
Ver proyecto oficialSobre el proyecto
Metroid: Zero Mission es un videojuego de acción-aventura de 2004 de la serie Metroid, desarrollado por la filial Nintendo Research & Development 1 y publicado por Nintendo para la consola Game Boy Advance. Fue lanzado en Estados Unidos el 9 de febrero de 2004, mientras que en Europa llegó el 8 de abril de 2004, y en Japón se estrenó el 27 de mayo del mismo año.
Información oficial del proyecto
Metroid - Zero Mission Decomp
This is a work in progress decompilation of Metroid - Zero Mission.
2718/2721 functions decompiled (99.89%, 3 left)
0x76b014/0x76b014 bytes of data not in blobs (100%, 0 left)
This repository can be used to build multiple ROMs. The ROMs are named like this: mzm_{region}.gba (or mzm_{region}_debug.gba)
Region indicates which region the ROM targets:
- us: USA, North America
sha1: 5de8536afe1f0078ee6fe1089f890e8c7aa0a6e8 - eu: Europe
sha1: 0fd107445a42e6f3a3e5ce8c865f412583179903 - jp: Japan
sha1: 096f07685a3dc9286e71aa0b761f233b5efa2fcd - cn: China (Not yet supported)
- us_beta: USA beta version
sha1: 58986c4d6f2e5ccdc04936cc8b7c9d378570710c - eu_beta: Europe beta version
sha1: 3c0b7ccd303c30ac5c4ffc9fb0aa7137a533ad69
Debug simply indicates whether the ROM contains the debug features, it is optional.
The default built ROM is mzm_us.gba
Discords:
- https://discord.gg/2MGB9Xbr9y Metroidret
- https://discord.gg/WtekHKb MAGConst
Dependencies
- agbcc
binutils-arm-none-eabi- A baserom for each ROM desired to be built (i.e.
mzm_us_baserom.gbaif you wish to buildmzm_us.gba). python3g++
Setup
- WINDOWS ONLY: Install and setup WSL
- Run
sudo apt updatejust in case - Install
binutils-arm-none-eabiby running this command:sudo apt install binutils-arm-none-eabiorsudo dnf install arm-none-eabi-binutils-cs - Install
gitby running this command:sudo apt install gitorsudo dnf install git - Install
makeby running this command:sudo apt install makeorsudo dnf install make - Clone agbcc by running this command:
git clone https://github.com/jiangzhengwenjz/agbcc.git - Enter the agbcc folder (run
cd agbcc) and build it (run./build.sh) - Either:
- Install agbcc into this project (by using its
./install.sh <path>script, where<path>is the path to the root of this repository), or - Add agbcc to your path (
export PATH="<agbcc_path>:$PATH", where<agbcc_path>is the full path to the agbcc directory)
- Install agbcc into this project (by using its
Build
- Run
make tidyif necessary- Use
make tidy DATA=1to remove data as well
- Use
- Run the data extractor if necessary:
make extract- For regions other than
us, specify it usingREGION(ex:REGION=jp) - Also run
python3 tools/extractor.py -dif you want to build a ROM with debug features
- For regions other than
- Run
make(using the-joption is recommended to speed up the process) - To build another version of the ROM you can do either of the following:
- Specify it directly (ex:
make us_debugfor the US ROM with debug features) - Specify the flags,
REGION(takes the region name, defaults tous) andDEBUG(takes 0 or 1, defaults to 0)
- Specify it directly (ex:
- Optionally, you can combine the commands to make it easier:
make extract && make -j
Contributing
See CONTRIBUTING.md
