Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Pokémon Moon
PORTSNATIVE

Pokémon Moon

NATIVE PORTROLE-PLAYING / RPGWINDOWSLINUXMACOSALPHA

Pokémon Moon

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

Pokémon Moon es un videojuego de acción y aventura publicado por The Pokémon Company en 2016.

Official project information

Author's original READMEOpen on GitHub ↗

Pokemon Moon decompilation

This repository reconstructs the European base release of Pokemon Moon from its Nintendo 3DS ARM executable. It contains source code, build tooling, symbol metadata, and reverse engineering notes. It does not contain retail game binaries or assets.

Target

  • Region: Europe
  • Title ID: 0004000000175E00
  • Product code: CTR-P-BNEA
  • Revision: base v1.0, title version 0
  • Main program: static.crs, ARMv7 little-endian, image base 0x00100000
  • Retail code.bin SHA-256: fbe0ce6da21542542f49645fff78ba1b7e5e7cc172ce4daceeb5c26ab54adba1
  • Retail static.crs SHA-256: e18db06b0609739e8e62cd4786c6b2da838d20347050e4c2ac822bf35c016957

config/target.json and docs/TARGET.md contain the complete identity and layout record.

Current state

The canonical manifest currently records 2,984 source-backed functions out of 18,945 inventoried internal functions (15.75%):

StatusCount
Exact ARM match298
Near match1
Semantic verified, nonmatching2,682
Semantic unverified3
Runtime-ready53

Local game input

You must provide files extracted from your own legally obtained copy of the game. The build expects these ignored local paths:

extracted/exefs/code.bin
extracted/metadata/exheader.bin
extracted/cxi/main.fully-decrypted.cxi

Building

Requirements include Python 3, GNU Make, arm-none-eabi-g++ 16.2.0, ARM GNU binutils 2.47, and 3DS Decomp Pipeline commit 621bbce909ad2f9c551563c7443ed80c0123fe77 under tools/3DS-Decomp-Pipeline. Local path overrides belong in ignored config.mk; start from config.mk.example.

Useful commands:

make check
make MODE=semantic check
make progress
make status
make verify

make verify builds the exact profile and performs the full replacement proof. Semantic runtime images use only explicitly runtime-ready functions. See docs/BUILD.md for the complete build workflow.

Portable PC runtime

The repository also provides an independent CMake target for the native PC runtime. It uses SDL2/OpenGL for host input and rendering while sharing portable reconstructed game logic. This target does not participate in the Nintendo 3DS Makefile build and does not replace any 3DS rendering code.

Linux requirements are CMake 3.20 or newer, a C++17 compiler, SDL2, OpenGL, and Ninja. SDL2_ttf is required only when the optional fresh-profile language selector is enabled.

cmake --preset linux-debug
cmake --build --preset linux-debug
ctest --preset linux-debug

Enable the startup language selector with a separate build directory:

cmake -S . -B build/linux-language -G Ninja \
  -DCMAKE_BUILD_TYPE=Debug -DPC_STARTUP_LANGUAGE=ON
cmake --build build/linux-language
ctest --test-dir build/linux-language --output-on-failure

Run build/linux-debug/pokemoon-pc with --headless for a session without a window. Use --data-root <path>, POKEMOON_DATA_DIR, or POKEMOON_DATA_ROOT to select external data. Retail resources remain external and use ID-preserving paths such as romfs/arc/AAAA/DDDD.bin under the selected data root.

Repository layout

  • src/, include/: reconstructed source and declarations
  • pc/: portable host runtime, platform adapters, and tests
  • config/reconstructed_functions.csv: authoritative function manifest
  • symbols/: recovered symbols and compatibility status
  • analysis/: function catalogs, queues, and compact progress reports
  • scripts/: build, verification, Ghidra export, and queue tooling
  • docs/: target, runtime, subsystem, and research notes
View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Role-Playing / RPG
Status
alpha
Original platform
—
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement