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
Metrowerks CodeWarrior for GameCube
PORTSNATIVE

Metrowerks CodeWarrior for GameCube

NATIVE PORTACTION / ADVENTUREWINDOWSLINUXMACOSALPHA

Metrowerks CodeWarrior for GameCube

OriginGameCube

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

Metrowerks CodeWarrior for GameCube es un videojuego de simulaci�n publicado por Metrowerks para GameCube, lanzado en 2001.

Official project information

Author's original READMEOpen on GitHub ↗

MWCC

Build Status 1.0 1.1 1.1p1 1.2.5 1.2.5n 1.3

A matching decompilation of mwcceppc.exe, the Windows/x86 CodeWarrior compiler for GameCube.

Supported versions:

  • GC_1_0: GameCube 1.0
  • GC_1_1: GameCube 1.1
  • GC_1_1p1: GameCube 1.1p1 (a patched 1.1)
  • GC_1_2_5: GameCube 1.2.5
  • GC_1_2_5n: GameCube 1.2.5n (1.2.5 with Ninji's patch)
  • GC_1_3: GameCube 1.3

Dependencies

  • Python 3.11+
  • ninja
  • unshield, to unpack the CodeWarrior Pro 5.3 updater

macOS: brew install ninja unshield. Linux: apt install ninja-build unshield.

wibo runs the compilers and is downloaded automatically.

Building

python configure.py
ninja

For another version, python configure.py --version GC_1_2_5n (or GC_1_3).

The build downloads what it needs but this repository does not contain:

  • the original executables, from the decomp.dev compiler archive, checked against their published SHA-1 (build/compilers/GC)
  • the CodeWarrior Pro 4, 5, 5.3 and 6 Windows/x86 compilers that built them and the Pro 5.3 linker, from the Internet Archive (build/compilers/pro*)
  • the MSL C library and runtime sources of CodeWarrior Pro 5, from the same Internet Archive disc, and the runtime sources of its 5.3 updater (lib/), with the compiler's own changes to printf.c, time.c, time.win32.c, startup.win32.c, ThreadLocalData.c and exchand.cpp applied (lib/extra), and the Win32 import library the executable links

For 1.1, 1.1p1, 1.2.5 and 1.2.5n, as in decomp-toolkit projects, the original is split into one object per translation unit, and ninja links the executable with the CodeWarrior linker from the compiled objects of the Matching sources and the split objects of the others, then checks it against the original's SHA-1. A source is Matching when its object, code and data, links into the original. For the other versions, each compiled function is compared with the original's; ninja fails when a function of a Matching source differs.

python tools/verify.py builds and checks every version, and that every function of a source matches.

Diffing

Open the project in objdiff after building.

Project structure

  • config/sources.json: each source's compiler, flags and status (Matching or NonMatching)
  • config/<version>/config.json: the original executable and its SHA-1; for the versions other than 1.2.5, the sources Matching in that version; for 1.3, the compilers that replace Pro 5 and 5.3, and for 1.0, the options that replace the sources' (it does not auto-inline)
  • config/<version>/symbols.txt, splits.txt (1.1, 1.1p1, 1.2.5, 1.2.5n): the original's symbols and its translation units, in decomp-toolkit's formats
  • config/<version>/functions.json: each function's address, size and source (none yet for a function not decompiled)
  • config/<version>/bindings.json: the addresses of the data and functions the sources reference
  • config/lmgr326b.def: the FLEXlm library the compiler imports by ordinal
  • src/: the compiler (driver, frontend, optimizer, backend) and its statically linked C library and runtime (msl, runtime: one source per object of the original, which builds the library's source of it)
  • include/: headers; include/libc is the C library as the compiler's sources see it
  • lib/ (downloaded): the MSL C library and runtime sources, built by src/msl and src/runtime

The source is formatted with clang-format (uv run clang-format -i FILE).

License

The project's files are dedicated to the public domain under CC0 (LICENSE); it started from inspiredrobot/mwcc, also CC0.

View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Action / Adventure
Status
alpha
Original platform
GameCube
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement