sm64dx builds byte-for-byte matching ROMs for all five regional releases of Super Mario 64 from fully decompiled C source. The instructions below target Ubuntu and Debian — the fastest path to a working build. If you are on another platform, follow the linked guides at the bottom of this page.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Project516/sm64dx/llms.txt
Use this file to discover all available pages before exploring further.
You must own a legal copy of Super Mario 64. The build system extracts assets from your original ROM — it does not include any copyrighted game data. Place your ROM as
baserom.<VERSION>.z64 in the project root before running make.Install build dependencies
On Ubuntu or Debian, install the required packages with:This provides the MIPS cross-compiler (
mips-linux-gnu-), GNU make, Python 3, and pkg-config — everything the Makefile needs.Clone the repository
Clone sm64dx from within your Linux shell. Keep the path under 255 characters — long paths cause build errors.
Place your baserom
Copy your original ROM into the project root. Replace The build system reads this file to extract textures, audio, and other assets that cannot be distributed with the source.
<VERSION> with the version you want to build (jp, us, eu, sh, or cn):Expected SHA-1 checksums
WhenCOMPARE=1 (the default), the build verifies that the output ROM matches the original byte-for-byte. The expected checksums for each version are:
| Version | ROM file | SHA-1 |
|---|---|---|
jp | sm64.jp.z64 | 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51 |
us | sm64.us.z64 | 9bef1128717f958171a4afac3ed78ee2bb4e86ce |
eu | sm64.eu.z64 | 4ac5721683d0e0b6bbb561b58a71740845dceea9 |
sh | sm64.sh.z64 | 3f319ae697533a255a1003d09202379d78d5a2e0 |
cn | sm64.cn.z64 | 2e1db2780985a1f068077dc0444b685f39cd90ec |
COMPILER, GRUCODE, or NON_MATCHING setting. Pass COMPARE=0 to skip the check if you are intentionally building a non-matching binary.
Build on other platforms
Linux
Full dependency instructions for Debian, Ubuntu, Arch, and other distributions.
macOS
Homebrew and Docker setup for macOS developers.
Windows
WSL configuration for building under Windows 10 and 11.