Go to file
2023-05-29 12:34:44 +02:00
.ci Edited docker file 2022-07-02 19:03:59 +02:00
.github Add PR template 2022-03-29 15:42:05 +00:00
asm Match RuinsTestGhostMove 2023-05-29 09:45:34 +02:00
include Match RuinsTestGhostMove 2023-05-29 09:45:34 +02:00
src Improve CreditsDisplayLine 2023-05-29 12:34:44 +02:00
tools Add tilesets set 0 data 2023-05-28 23:27:41 +02:00
.cirrus.yml Edited docker file 2022-07-02 19:03:59 +02:00
.gitignore Add first version of extractor 2022-09-24 17:42:57 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md with mention of clean room design 2022-03-21 22:08:13 +00:00
database.txt Add tilesets set 0 data 2023-05-28 23:27:41 +02:00
linker.ld Match RuinsTestGhostMove 2023-05-29 09:45:34 +02:00
Makefile Complete ridley_landing.c 2023-02-03 18:52:02 +01:00
mzm.sha1 Remove checksum newline 2022-09-05 18:50:48 +02:00
README.md Match RuinsTestGhostMove 2023-05-29 09:45:34 +02:00

Metroid - Zero Mission Decomp

This is a work in progress decompilation of Metroid - Zero Mission.

2578/2721 functions decompiled (94.74%, 143 left)

0x32474f/0x76b014 bytes of data not in blobs (42.36%, 0x4468c5 left)

Progress can be seen here : https://docs.google.com/spreadsheets/d/1X8XarD5evY8ZI7r_GQqh1pYmdVMbBcINYfRBUlogmKY/edit#gid=0

This decomp is not shiftable, don't use it as a base to work on anything

This produces the following ROMs:

  • mzm_us.gba: sha1: 5de8536afe1f0078ee6fe1089f890e8c7aa0a6e8

Discords:

Dependencies

  • agbcc
  • binutils-arm-none-eabi
  • mzm_us_baserom.gba (sha1: 5de8536afe1f0078ee6fe1089f890e8c7aa0a6e8)
  • python3
  • g++

Setup

  • WINDOWS ONLY : Install and setup WSL
  • Install the dependencies (an apt update might be necessary for binutils)
  • Build agbcc (run ./build.sh)
  • Add agbcc to your path (export PATH="agbcc path:$PATH")
  • Build preproc (run make in tools/preproc)

Build

  • Run make clean if necessary
  • Run the extractor.py script in tools (python3 tools/extractor.py) if necessary
  • Run make (using the -j option is recommended to speed up the process)