Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Mario Strikers Charged
PORTSNATIVE

Mario Strikers Charged

PORT NATIVODEPORTESWINDOWSALPHA

Mario Strikers Charged

TecnologíaDescompilación y Reconstrucción en C/C++

Disponible paraWindows

Ver proyecto oficial

Sobre el proyecto

Mario Strikers Charged es un videojuego de fútbol desarrollado por Next Level Games y publicado por Nintendo para la consola Wii. Llegó al mercado el 25 de mayo de 2007 en Europa, el 30 de julio de 2007 en Norteamérica y el 20 de septiembre de 2007 en Japón. Es el segundo juego de la saga Mario Strikers, teniendo la misma temática que su predecesor Super Mario Strikers con algunas modificaciones en la jugabilidad.

4 versiones de Mario Strikers Charged

Estás viendo: Mario Strikers Charged

Mario Strikers Chargedgithub.com/yannicksuter/mscharged-decomp
Windows
Actual
MSCharged Port (yannicksuter)github.com/yannicksuter/MSCharged-Port
Windows
Linux
macOS
›
Mario Strikers Charged (WiiCompiled)github.com/BlackAndBlue95/Strikers-WiiCompiled
Windows
›
Mario Strikers Charged Recompiledgithub.com/previouslevelgames/recharged
Windows
Linux
macOS
›

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗

Mario Strikers Charged
Build Status Code Progress Link Progress Discord Badge

<!-- Replace with your repository's URL. --> <!-- decomp.dev progress badges See https://decomp.dev/api for an API overview. --> <!-- Replace with your Discord server's ID and invite URL. -->

[!IMPORTANT] This repository does not provide a new way to play Mario Strikers Charged. It is not a modern recompilation ("recomp") or a port. For completed versions, 100% code and linking means the reconstructed source compiles into an executable byte-for-byte identical to the original retail Nintendo Wii release.

Recompilations and ports based on this work are maintained separately and are outside the scope of this repository. Please do not ask for recompilations or ports in the decompilation Discord, as producing and supporting them is not the focus of this community.

A work-in-progress matching decompilation of Mario Strikers Charged for Nintendo Wii, developed by Next Level Games and published by Nintendo.

[!NOTE] Version 1.0.0 of the native PC port has been released and is available now. Based on this decompilation, the port uses the decompiled source directly and does not rely on recompilation ("recomp"). This approach enables bug fixes and modding.

This repository does not contain game assets or the original executable. You must provide your own legally obtained copy of the game.

Supported versions

Regional Wii releaseVersionRegion and titleRevisionStatusmain.dol SHA-1
2007-05-25R4QP01_rev1Europe - Mario Strikers Charged FootballRev 1Complete: 100% code / 100% linked0a066b755b469648a371d1cfc2d1bcad315b2b4a
2007-05-25R4QP01_rev2Europe - Mario Strikers Charged FootballRev 2Complete: 100% code / 100% linkedc39e1eda1942aa2fc96a6a71bfef051698e23516
2007-07-30R4QE01USA - Mario Strikers ChargedRev 1Complete: 100% code / 100% linkede96d2298067b70652752145b4e63644e6e1b1560
2007-09-20R4QJ01Japan - Mario Strikers ChargedRev 0Complete: 100% code / 100% linked74be723403329158b1645d9961a3cd6be755cdb8
2010-03-18R4QK01Korea - Mario Power SoccerRev 0Complete: 100% code / 100% linkedc2f893aa71911c4ad4dcead1474e517e8e598fcb

Dates are the original regional Wii releases, sorted chronologically. Separate release dates for the EU disc revisions have not been verified; both EU rows show the regional launch date. The linked Nintendo release information and Nintendo Korea announcement provide the date sources.

R4QE01 remains the default. All five versions link entirely from reconstructed source and reproduce their retail executables. Each version has its own symbols, splits, progress report and retail DOL hash. The revision numbers above are the revision bytes recorded in the disc headers.

The former R4QP01 configuration is now named R4QP01_rev2. For an existing checkout, move the local files from orig/R4QP01 into orig/R4QP01_rev2 and configure again. Revision 1 needs its own disc image; the two EU revisions are not interchangeable.

comparison.md compares the five builds in detail: disc and system data, build stamps, SDK versions, executable layout, version-specific code and disc assets. It shows that EU revision 2 takes part of the US fixes, that the Japanese build is US code with interface fixes, and that the 2010 Korean build is a separate rebuild with its own title logo and goalie tuning.

Decompilation

Decompilation is the process of reverse-engineering compiled machine code back into human-readable source code. Unlike disassembly, which produces assembly language, decompilation aims to reconstruct high-level code (like C or C++) that closely matches what the original developers wrote. This process involves analyzing the binary executable, understanding its structure and behavior, and translating it back into source code that compiles to produce identical machine code. In this project, the goal is not just a close match, but a 100% match—the decompiled source code must compile to produce byte-for-byte identical machine code to the original. This is why diffing (see the Diffing section below) is an essential piece of the process, as it allows us to verify that our decompiled code produces exactly the same binary output as the original game. Decompilation projects like this one enable deeper understanding of game mechanics, facilitate modding and preservation, and serve as valuable learning resources for understanding how games were built.

Progress

progress overview

Track the project decompilation progress and explore the interactive graph on decomp.dev.

Dependencies

  • Python 3
  • Ninja

The build downloads pinned versions of decomp-toolkit, the compiler, binutils, objdiff-cli, and wibo when needed.

Building

Place a supported disc image in orig/<version>: orig/R4QE01 for USA, orig/R4QP01_rev1 for EU revision 1, orig/R4QP01_rev2 for EU revision 2, orig/R4QJ01 for Japan, or orig/R4QK01 for Korea. ISO, RVZ, WIA, WBFS, CISO, NFS, GCZ, and TGC images are supported. Use the disc revision listed above.

Then configure and build:

python3 configure.py
ninja

To select another version:

python3 configure.py --version R4QP01_rev1
ninja

python3 configure.py --version R4QP01_rev2
ninja

python3 configure.py --version R4QJ01
ninja

python3 configure.py --version R4QK01
ninja

Running python3 configure.py without --version selects USA again. Build outputs are kept separately in build/<version>; build.ninja and objdiff.json describe the currently selected version.

On the first build, decomp-toolkit extracts sys/main.dol from the disc image and performs the initial analysis. Once extraction succeeds, the disc image can be removed from orig/<version> to save space.

For USA, Europe and Japan, Ninja also generates the disc-message image include from that version's main.dol. The generated DiscMessageImages.inc stays in the build directory and is ignored by Git, including when using --build-dir. Korea uses its separate source implementation in src/RVL_SDK/dvd/R4QK01/dvdFatal.c.

The reconstructed config/<version>/symbols.txt and config/<version>/splits.txt are checked into the repository. Disc images, extracted game files, split objects and build outputs must remain untracked. A successful USA build ends with:

build/R4QE01/main.dol: OK

Each version checks its own build/<version>/main.dol in the same way. The build prints code matching and source-linking percentages and writes build/<version>/report.json. A verified DOL can still contain extracted objects; the linking percentage counts only code linked from source.

To generate a linker map for the reconstructed ELF, configure with --map:

python3 configure.py --map
ninja

The result is written to build/<version>/main.elf.MAP. It describes the reconstructed link rather than an original development map and is intentionally ignored by Git.

Diffing

After configuration, open the project directory in objdiff. It reads the generated objdiff.json automatically and rebuilds changed objects with Ninja.

Some retained template definitions are provided by another compiled source object. objdiff_weak_providers lists those sources for a unit. Ninja creates its comparison object in build/<version>/compare/, preserving the local object's definitions and adding missing weak definitions from the providers. The ordinary compiled objects remain the linker inputs. This accounts for shared method matches; source-linking a TU still requires matching its layout.

Source review and regional verification

Matching the executable and reviewing the source are separate checks. A matching DOL verifies the retained instructions and data; it does not establish original names, types or source organization. Source review continues after a version reaches 100% matching and linking.

For a source cleanup or regional change:

  1. Build the unchanged revision and preserve its report and affected compiled objects as the baseline.
  2. Read the implementation, declarations, callers and referenced data. Check behavior, ABI, layout, lifetime and ownership against the relevant retail executable. Use descriptive names supported by those uses; keep an uncertain identity neutral. Reconstructed names are not recovered original symbols.
  3. Update definitions, owning headers, consumers and the applicable regional symbol files together. A file move also updates its build entry and splits. Compiler-generated pools, alignment gaps and anonymous labels do not need invented source names. Keep changes to algorithms separate from naming work.
  4. Rebuild every affected consumer, including indirect users of shared headers. For a naming cleanup, compare allocated bytes, section alignment, symbol positions and bindings, and relocation targets after accounting for the intended renames. Preserve each existing function and data result, rather than relying on an aggregate percentage.
  5. Verify that the linker consumes the compiled source objects, generate fresh reports, and require the retail DOL hash for every affected version. Shared source changes require all five regional checks; USA and both EU revisions must preserve their established behavior and matching results.

With the extracted originals available for every version, run the build matrix from the repository root:

set -e
for version in R4QE01 R4QP01_rev1 R4QP01_rev2 R4QJ01 R4QK01; do
    python3 configure.py --version "$version"
    ninja all_source
    ninja
done

Keep comparison reports and build artifacts under the ignored build directory. Document the affected scope and verification results with the change. Low-level SDK and runtime code can use assembly; a byte match alone does not prove its historical source form or justify a construct used only to force code generation.

Contributing

Contributions are welcome. Read CONTRIBUTING.md before starting work so that changes follow the repository's matching, style, and asset-handling rules.

Related projects

smstrikers-decomp is the sibling decompilation project for Super Mario Strikers, the Nintendo GameCube predecessor first released in November 2005.

Acknowledgements

This project is based on encounter/dtk-template and uses decomp-toolkit. Thanks to the GameCube/Wii decompilation community for the tools and documentation that make projects like this possible.

License

The repository's original source contributions are dedicated to the public domain under CC0 1.0. Third-party source retains its own terms; see LICENSES. Game assets and other copyrighted material are not covered and must not be committed.

Ver proyecto oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Deportes
Estado
alpha
Plataforma de origen
—
Tecnología
Descompilación y Reconstrucción en C/C++
Versión
—
Actualización
—

Plataformas de destino 1

Windows
Ver en GitHub
Publicidad