Turtles in Time Re-Shelled Recompiled

Turtles in Time Re-Shelled Recompiled is a native Windows and Linux port of Teenage Mutant Ninja Turtles: Turtles in Time Re-Shelled with online multiplayer and modern PC options.

README

Teenage Mutant Ninja Turtles: Turtles in Time Re-Shelled Recompiled

The Xbox 360 XBLA release of Turtles in Time Re-Shelled, running as a native Windows port, and experimentally on Linux and Steam Deck, through static recompilation, with the TRG launcher, modern PC options and online multiplayer

Latest release Downloads Platforms

The original Xbox 360 game code, statically recompiled to native PC code with the ReXGlue SDK. No game files included: bring your own Turtles in Time Re-Shelled Xbox Live Arcade package.

This is a native PC port, not an emulator: the game's own PowerPC code is translated into C++ and compiled for your PC.

2026-11-06_15-06_1

Features

  • Native static recompilation: the game's own code, not an emulator. Native Windows x64 build, plus an experimental Linux / Steam Deck AppImage.
  • TRG launcher with a game package installer, display, graphics, gameplay and online settings, and a self-updater that installs nothing until you choose it.
  • Online multiplayer for up to four players, through this port's own online service (not Xbox Live): friends by friend code, invites from your lobby, and peers that connect over Direct UDP with a Relay fallback for any pair that cannot.
  • Offline achievements, saved on your PC with the game's own names, icons and gamerscore.
  • Languages: the game's original English, French, German, Italian and Spanish, plus an unofficial Português Brasil translation of the game text and the launcher.
  • Skip intro goes straight to the title screen.
  • Render Resolution from 1x to 4x (1280×720 to 5120×2880), scaled to your window. The game keeps its original 16:9 picture.
  • Anti-aliasing and filtering: MSAA, FXAA and FXAA Extreme, and texture filtering from the game's own up to 16x anisotropic.
  • Graphics card selection (Windows): choose which compatible GPU renders the game, useful on PCs with integrated and dedicated graphics.
  • In-game overlays: F2 shows the FPS counter, and F3 shows Ping while Online play is on.
  • Window handling: F11 switches between Windowed and Borderless Fullscreen, and Exit Game closes the program cleanly.
  • Portable user data: saves, settings, achievements and caches are in a user_data folder beside the program.
  • Detailed logging and crash report: a log per session, and after a crash it ends with a CRASH REPORT section that stays on your PC.

What you need

  • Windows 10 or 11, 64-bit, and a DirectX 12 graphics card, or 64-bit Linux / a Steam Deck with Vulkan (experimental)
  • On Windows, the latest Microsoft Visual C++ 2015-2022 Redistributable (x64). Most PCs have it already.
  • Your own Turtles in Time Re-Shelled Xbox Live Arcade package (about 270 MB, plus about 300 MB of free disk space next to the program for the game files), this exact game version:
GameTeenage Mutant Ninja Turtles: Turtles in Time Re-Shelled, Xbox Live Arcade
Title ID584109D2
Content type000D0000 (Xbox Live Arcade), STFS LIVE package
Media ID23B57DFA
Game version0.0.1.3
default.xex4,808,704 bytes, CRC32 FC04059D, SHA-256 5FF5B37E120B1F2C3057D78BFC8C8AD6885C3FA576AECB3026E23E6044C5C3DE
TMNT_r.xex2,002,944 bytes, CRC32 2D0061F9, SHA-256 C6C19BD1D3DE0C0AF3651DE201E8CAC47D9C380C03060734F6F649E83EE89DD9

The launcher checks the Title ID and content type when you pick the package, and checks both executables after extracting it. Any other version is refused, because the port is built for this exact game code. Details are in docs/package-analysis.md.

Installing

  1. Download TurtlesInTimeReshelled-v…-windows-x64.zip from the latest release and extract it anywhere you can write to, not Program Files.
  2. Run tmnt_turtles_in_time_reshelled.exe. The launcher opens.
  3. On the Play page, click Install from package... and pick your package. It is one file with a long hexadecimal name and no extension. On an Xbox 360 drive it is in Content\0000000000000000\584109D2\000D0000\.
  4. Wait until Ready to play appears. The game files (about 270 MB) are copied into the game folder next to the program. The package file itself is not copied there.
  5. Press PLAY.

No game files are included in the release.

Reinstall from package... repairs the game files and keeps your settings and saves.

Linux and Steam Deck

Experimental. This is a native Linux build (ReXGlue's patched Linux runtime with its Vulkan GPU plugin), not Proton or Wine, and rendering goes through Vulkan. It has not yet been validated on real Linux hardware or on a Steam Deck, so rendering, audio, controllers and online play on Linux are unconfirmed. It needs 64-bit x86 Linux with glibc 2.31 or newer, a Vulkan driver and an X11 or Wayland desktop.

  1. Download TurtlesInTimeReshelledRecompiled-v…-x86_64.AppImage from the latest release and put it in a folder you can write to.
  2. Mark it executable: right-click > Properties > Permissions > Is executable, or chmod +x.
  3. Run it, then install your package from the Play page as above. The game files go in a game folder next to the AppImage.

On a Steam Deck, this is the intended flow, and it has not been tried on a Steam Deck yet:

  1. Switch to Desktop Mode.
  2. Download the AppImage, and copy your Xbox 360 package to the Deck (USB stick, SD card or network).
  3. Mark the AppImage executable.
  4. Run it and install your own Xbox 360 package from the Play page.
  5. In Steam, choose Games > Add a Non-Steam Game to My Library and pick the AppImage.
  6. Return to Game Mode and launch it from your library.

game, logs and user_data are created next to the AppImage file, so they survive moving or updating it. Where FUSE cannot mount the AppImage, it unpacks itself and runs from there. The launcher updates the AppImage only while it keeps its release file name. Requirements, the Steam setup, the FUSE fallback and known limits are in docs/linux.md.

Windows SmartScreen

Windows may warn the first time you run the program, because the release is not digitally signed. If you downloaded it from this repository's releases page, choose More info, then Run anyway.

The launcher

The TRG launcher opens before the game. Settings are saved to user_data\settings.toml next to the program.

PageWhat it holds
PlayGame files, Install from package, PLAY
DisplayDisplay mode, window size, monitor, VSync
GraphicsGraphics card, Render resolution 1x to 4x, anti-aliasing, multisampling (MSAA), texture filtering
GameplayLanguage, Skip intro, frame rate and render resolution in the title, frame counter, player names
OnlineOnline play, Connection test, friends, invites
AchievementsYour achievements on this PC
ControlsKeyboard on/off and bindings
AboutVersions, folders, Open logs folder, Detailed logging, Sponsor

Hold Shift while starting to show a launcher that was turned off. See docs/launcher.md.

Controls and hotkeys

Xbox controllers work without setup, and the keyboard works too (the Controls page lists and rebinds the keys).

KeyAction
F2Show or hide the FPS counter
F3Show or hide Ping while Online play is on
F7Open the achievements
F11Switch between Windowed and Borderless Fullscreen

Online multiplayer

Play with up to four players in total (you and up to three friends) through the game's own Multiplayer menus. Online play is this port's own online service and is not Xbox Live. Turn on Online play on the launcher's Online page, run the Connection test, and add friends by friend code. In the game, Multiplayer > Online offers Quick Match, Create Match and Custom Match, and X Invite Friends in your lobby invites a friend.

Peers connect directly over UDP when they can (Direct) and through the online service's relay for any pair that cannot (Relay). The online service only sees what it needs to bring players together; see docs/online.md, which also covers what it stores and the Xbox LIVE menus this port removes.

Languages

The game's own English, French, German, Italian and Spanish, plus the port's unofficial Português Brasil translation of the game text and the launcher. Choose on the Gameplay page.

Screenshots

2026-11-06_15-08

Your data

Everything the port writes stays next to the program (next to the AppImage on Linux), so moving that folder moves everything. Release downloads never include any of it.

FolderWhat it holds
gameThe game files from your package
user_dataSettings, saves, achievements, shader cache (docs/user-data.md)
logsOne log per session

Open logs folder is on the About page. Detailed logging is on by default; turned off, the log keeps only what identifies the session and what went wrong.

Updates

The launcher checks the project's GitHub releases once per start. When a newer release exists an update banner appears; nothing is installed until you choose UPDATE NOW and then RESTART TO UPDATE. Game files, user_data, logs and caches are kept. On Linux this replaces the AppImage file, which must keep its release file name.

Known limitations

  • The picture is 16:9.
  • Leaderboards, Xbox Live Party and Gamer Cards are removed from the menus: this port has no Xbox Live service.
  • Linux and Steam Deck are experimental and have not yet been validated on real hardware.
  • Linux: two Direct3D 12 rendering fixes (a cyan flicker on the turtles, stale geometry) have no Vulkan version yet.
  • If a player closes the window during an online match, the others can wait up to 30 s before the match goes on.

Reporting problems

Attach the newest tmnt_turtles_in_time_reshelled_*.log from the logs folder next to the program to an issue. After a crash the log ends with a CRASH REPORT section.

Building it yourself

The recompiled C++ is generated from your own game files, so the repository does not contain it. Clone with submodules, so the TRG launcher is included:

git clone --recurse-submodules https://github.com/saulob/tmnt-turtles-in-time-reshelled-recompiled.git

In an existing clone, run git submodule update --init --recursive.

  1. Install Visual Studio with the C++ and LLVM/Clang components. tools\build.ps1 expects Visual Studio 18 Community at its default location. Release packages also need MSYS2 with mingw-w64-clang-x86_64-toolchain for the update helper.
  2. Extract your package's files into game\extracted with an Xbox 360 STFS extractor, so that game\extracted\default.xex and game\extracted\TMNT_r.xex exist.
  3. .\tools\codegen.ps1 downloads the pinned ReXGlue SDK 0.10.0 (unless tools\rexglue already holds it), checks both executables and generates the C++ into generated\default and generated\tmnt_r.
  4. .\tools\build.ps1 builds build\tmnt_turtles_in_time_reshelled.exe and the module library build\tmnt_turtles_in_time_reshelled_TMNT_r.dll. It first makes sure ReXGlue's runtime and Xenos GPU plugin in tools\rexglue were built from this project's patches (patches\rexglue-sdk) and rebuilds them from the pinned source when they were not (network access the first time). See docs/rexglue-runtime-patch.md.
  5. .\tools\package-release.ps1 makes the release ZIP in dist\, and tools/package-linux.sh the AppImage (see docs/linux.md). Neither publishes anything.

How the launcher, settings and installer work is described in docs/launcher.md, and the user data layout in docs/user-data.md.

Sponsoring

Turtles in Time Re-Shelled Recompiled is maintained and developed in my free time. If you enjoy the project or find it useful, consider supporting its continued development.

GitHub Sponsors

Credits

  • Teenage Mutant Ninja Turtles: Turtles in Time Re-Shelled for Xbox Live Arcade (2009). This is an unofficial fan-made PC port. It is not affiliated with or endorsed by the game's developer, publisher or rights holders, and it contains none of their files.
  • ReXGlue SDK for the recompiler and runtime (BSD 3-Clause)
  • TRG Launcher, the launcher interface, pinned at v1.1.0, licensed under the MIT License
  • The project infrastructure comes from Hard Corps: Uprising Recompiled
  • The licenses of the libraries the release includes are in the licenses folder of the ZIP, and in usr/share/doc/tmnt_turtles_in_time_reshelled inside the AppImage

AI disclosure

AI tools were used to assist with code analysis, development, debugging and documentation. Changes were directed, tested and reviewed by the maintainer.

License

Original code in this project is licensed under the GNU General Public License v2.0 only (GPL-2.0-only). See LICENSE.

Third-party components retain their respective licenses and notices. See licenses/ReXGlue-LICENSE.txt and licenses/THIRD-PARTY-LICENSES.txt.

No game files are included. Turtles in Time Re-Shelled and its assets are not covered by this project's license. You must own the game to use this port.