# sm64ex: an enhanced Super Mario 64 PC port from the decompilation

> Builds native Super Mario 64 executables from decompiled source, extending the sm64-port fork of the n64decomp reconstruction with renderer, input, camera, save-format and external-data options. Game assets are extracted from the user’s own ROM at build time. It is a non-matching enhanced port, not a byte-identical ROM reconstruction.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-18
- Original resource: <https://github.com/sm64pc/sm64ex>
- Primary source: <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/README.md>
- Catalog page: <https://awesomerea.org/resources/sm64ex-pc-port-case/>
- Record JSON: <https://awesomerea.org/resources/sm64ex-pc-port-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/sm64ex-pc-port-case/index.md)

## Requirements & limits

- **Prerequisites:** Supply an original Super Mario 64 ROM named baserom.<version>.z64 for each version built (us by default, jp or eu); extract_assets.py compares its SHA-1 with the bundled reference before extracting assets. The sh (Shindou) option skips extraction and is labelled experimental in the Makefile and broken in the wiki option table; a 2020 known-issues page reports buggy EU text and missing EU audio.
- **Prerequisites:** The README defers building to the wiki, whose pages cover Linux (Python 3.6+, SDL2, GLEW, host GCC toolchain), Windows through MSYS2, FreeBSD, Raspberry Pi and an Emscripten/WebGL target; cross-compiling for Windows from Linux or WSL needs MXE, and OSX_BUILD enables macOS fixes. Renderers are OpenGL 2.1, OpenGL 1.3, Direct3D 11 and Direct3D 12, the DirectX ones only on Windows.
- **Scope:** The reviewed nightly branch (last pushed 2024-12-17) describes itself as a fork of sm64-port/sm64-port, which GitHub records as a fork of n64decomp/sm64, the separately catalogued ROM reconstruction. The Makefile builds PC targets only: it defines NON_MATCHING and AVOID_UB and forces COMPARE to 0.
- **Testing evidence:** The Jenkinsfile builds us, eu and jp and rebuilds us after each enhancement patch, all with comparison disabled. Options such as disabled draw distance, analog camera, texture fixes and cheats intentionally change behavior, and the wiki notes the draw-distance option may affect gameplay.
- **License:** GitHub detects no repository license and the reviewed tree has no root license file; bundled tools carry their own licenses, and the src/pc notice reproduces an n64-fast3d-engine license that forbids binary redistribution. Original Nintendo content is not supplied, and the README forbids uploading copyrighted assets.

## Primary sources

1. <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/README.md>
2. <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/Makefile>
3. <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/extract_assets.py>
4. <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/Jenkinsfile>
5. <https://github.com/sm64pc/sm64ex/blob/d7ca2c04364a6dd0dac58b47151e04e26887e6f0/src/pc/README-n64-fast32-engine.md>
6. <https://github.com/sm64pc/sm64ex/wiki/Compiling-on-Linux/f2a7911133395886a2dce815f5cb5773e6c2ad8d>
7. <https://github.com/sm64pc/sm64ex/wiki/Compiling-on-Windows/0e64ea14174606d83a7b75f20d14dce1b6e6e200>
8. <https://github.com/sm64pc/sm64ex/wiki/Build-options/f9aff0b0db9cd4ec1c40ac7a2bc42af969edb42f>
9. <https://github.com/sm64pc/sm64ex/wiki/Known-issues/94d262d19ea9e16990d955de28560df563dc5372>
10. <https://github.com/sm64-port/sm64-port/blob/2b17d081c9798b31b91dc71f37994b0da28cffc9/README.md>

## More in Games

- [SpaghettiKart: a native Mario Kart 64 port built on decompiled source](https://awesomerea.org/resources/spaghettikart-mk64-port-case/index.md) · Case study
- [Starship: a Star Fox 64 PC port built from the decompilation](https://awesomerea.org/resources/starship-sf64-pc-port-case/index.md) · Case study
- [Super Mario Sunshine: a native PC port from an AI-assisted decompilation](https://awesomerea.org/resources/sms-pc-port-case/index.md) · Case study
- [TH08 Web: a WebAssembly port built from reconstructed source](https://awesomerea.org/resources/th08-web-wasm-port-case/index.md) · Case study
- [TonyWasAProSkater: a THPS1 native port forked from a matching decompilation](https://awesomerea.org/resources/thps1-decomp-native-port-case/index.md) · Case study
- [Vandal Hearts: native PC port built on matching decompilations](https://awesomerea.org/resources/vandal-hearts-pc-port-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
