TMNT: Shredder’s Revenge on Retro Handhelds

Last updated: 11FEB2024 (see Changelog for details)

Teenage Mutant Ninja Turtles: Shredder’s Revenge has become a massive hit, and for good reason. It’s a perfect mixture of old-school beat-em-up and modern control schemes, and it has plenty of fun stuff to unlock, too. In this guide we’ll get the game running on various handhelds so you can play this game anywhere.

This should work in any PortMaster-compatible retro handheld. For best results, make sure you are running the most recent version of ArkOS, AmberELEC, or JELOS, and that you have installed the latest version of PortMaster. Here is my PortMaster guide.

Note that the “Final” version of ArkOS for the RG351P and RG351M will not support the game due to an outdated SDL2 library. However, wuMMLe’s fork of ArkOS has been updated to support it, but there are some script changes needed (see the notes below). If you want the latest for those devices, I recommend using JELOS or AmberELEC, since they are in active development.

Setting up this game is similar to other ports such as Celeste, Shovel Knight, Undertale, Timespinner, and Iconoclasts. Big thanks to developer JohnnyOnFlame for getting this port up and running; please consider buying him a coffee for his hard work.

Installation instructions

Note that you need to have the most updated version of PortMaster installed on your device for this to work. Additionally, you need to run the install script of one of the following games within PortMaster: Timespinner, Owlboy, or Stardew Valley. This will install a mono package that is necessary for TMNT to initialize. You don’t need to actually install those ports onto your device, but the process will allow TMNT to work properly. This isn’t shown in the video, sorry about that — I didn’t realize it was necessary since I already had the mono package installed on my devices.

Alternatively you can manually grab the mono package here and place it in PortMaster/libs on your SD card.

While many people are playing this game via Game Pass, you need to own the PC (Steam) game files themselves to port the game to your retro handheld. Luckily, the Windows version of this game is compatible with the port, so setting it up is as easy as installing the game to your Windows PC.

  • Purchase the game here via Steam
  • Install the game onto your Windows PC
  • Locate the game files. You can do this by right-clicking on the game in your Steam library, then select Properties > Local Files > Browse and it should take you directly to where the files are stored. If you want to find them manually, typically they will be in the following directory
    • Local Disk (C:) > Program Files (x86) > Steam > steamapps > common > TMNT
  • Download this TMNT port package and extract its contents. You should have two files: an .sh file and a folder.
  • Inside that package folder you should see a subfolder named “gamedata”.
  • Copy the contents of TMNT into the gamedata folder. You will get a prompt that there is already a file named “TMNT_GameIntro.ogv” and it will ask you if you want to overwrite that file. DO NOT overwrite it; instead, choose “Skip this file”.
  • Once the files have moved over, now we can add them to your device’s SD card. For this you will want to use the second card (if using a two-card device), or just the main card if using a single-card setup. Inside that card you should see a “ports” folder. In there, add the package folder and .sh file.
  • Insert the card back into the device and turn it on. In the Ports section you should now see the game, and you can start it up. It will take upwards of 20 minutes to load the game the first time, as some of the files are compressed in order to properly run. Every subsequent boot will be much faster, less than a minute. I’ve seen reports where this will sometimes take up to 30 minutes, and it appears to “freeze” the game. Don’t worry, just let it run the initialization — don’t touch it!

Manual Installation instructions

If you want to grab the game files WITHOUT installing the game onto yourWindows PC first, here is how to do that:

  • Buy the game on Steam so that it is associated with your Steam account.
  • On your PC, press Win+R and type: “steam://open/console” (Steam will now show console command). For best results do this command with Steam closed.
  • In the Steam console, type: “download_depot 1361510 1361511” (just copy and paste this line into your command line)
  • After several minutes, it will show you the location of the game files on your PC. Be patient, some games take longer to download than others. Navigate to that location and grab those files!

MacOS instructions

  1. Buy the game on Steam so that it is associated with your Steam account.
  2. Make sure Steam is closed on your Mac, then open Terminal and run the command “/Applications/Steam.app/Contents/MacOS/steam_osx -console”
  3. When Steam opens, there should be a “Console” tab on the top right
  4. In the console (which will look like a Terminal window), type “download_depot 1361510 1361511″ without the quotation marks
  5. It’ll take about 20 minutes to download, but then it will show you a path to where the folder is located. It’s pretty deep in the MacOS file system, the easiest way to do that is through the Library folder. To access Library, you need to go to the Menu Bar in Finder (at the very top), click on “Go” and then press the Option key to make the Library appear in that menu, then navigate to where the Steam console says to go.
  6. Download the tmnt.zip package file, then unzip it. Inside the tmntsr folder will be a gamedata folder. Inside that folder, there should be a Content > Video folder, and in there a blank .ogv file. Move that OGV file somewhere else on your Mac, like onto the desktop. Copy all the files from your MacOS tmnt download folder into the gamedata folder, and if it asks, overwrite the OGV file when prompted (this is different from the video). After the copy is complete, grab that blank OGV file from your Desktop and move it BACK into the tmntsr > gamedata > Content > Videos folder, replacing the one that’s in there. The reason we are doing this roundabout step is because the copy/paste mechanism in Mac is different than in Windows.
  7. Move the tmntsr folder and the TMNTShreddersRevenge.sh file to the Ports folder of your SD card.
  8. Boot up your device, then go into the Tools folder and find the command that says “delete ._ files” and run that program.
  9. Go into the Ports folder and run the TMNT game. It will take upwards of 20 minutes to boot that first time, but afterwards it should work fine. If you get an error it’s likely because you don’t have the most recent version of PortMaster installed and you haven’t run the Owlboy etc. install script as mentioned in the written guide above.

ArkOS RG351P or RG351M instructions

Reddit user seouljah760 gave these helpful tips for those using ArkOS Final:

If you haven’t moved from ARKOS Final, or using Wummle’s ARKOS fork on 351P/M devices, you need to do a couple things to fix the install:

The TMNTShreddersRevenge.sh script needs a small change:

if [ -d "/opt/system/Tools/PortMaster/" ]; then
controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
controlfolder="/opt/tools/PortMaster"
elif [ -d "/roms/ports" ]; then
controlfolder="/roms/ports/PortMaster" << CHANGE to “/roms/tools/PortMaster”
elif [ -d "/roms2/ports" ]; then
controlfolder="/roms2/ports/PortMaster"
else
controlfolder="/storage/roms/ports/PortMaster"
fi

That directory does not exist in both ARKOS Final, and Wummle’s fork. I repeat, just having Wummle’s fork is not enough, the script needs an edit. The PortMaster and lib folders do not reside in the “ports” folder, it is in “tools” for the ARKOS default program locations.

Then you need to download:

https://github.com/PortsMaster/PortMaster-Hosting/releases/download/large-files/mono-6.12.0.122-aarch64.squashfs

Copy that into your roms partition in the tools/PortMaster/libs folder, pop the SD back in and run the game in the Ports category. You may or may not already have this, depending on what other ports you’ve installed previously. This script does not install it for you, as it does in other port scripts.

Add the intro video

By default, the intro video is removed from this port because it will make the game crash. However, community member MrFaust was able to figure out how to re-encode the video file so that it will work on your device. It may result in some slight glitching on certain devices (like the RK3326 devices) during video playback, but it’s still pretty cool to see. Here is the full walkthrough via PDF file.

Hardcode controller inputs

The TMNT port uses the default PortMaster controller database configuration, which is excellent for simple and streamlined gameplay, but will also result in needing to remap the controls in the options menu every time you start a new game. However, if you don’t mind making some quick text file adjustments, you can permanently adjust the controller inputs so that you don’t have to mess with it again. Thanks to discord user 4554551// for the fix. Here we go:

In the TMNT Shredders Revenge.sh file
replace
source $controlfolder/control.txt
with
source $controlfolder/control2.txt

Then go into Portmaster folder.
Make a copy of control.txt and rename it to control2.txt
Make a copy of gamecontrollerdb.txt and rename it to gamecontrollerdbturtles.txt

In control2.txt replace all instances of gamecontrollerdb.txt with gamecontrollerdbturtles.txt

Then open gamecontrollerdbturtles.txt and make your adjustments specific to the game. It may require some trial and error, but generally it will just require you to swap the A and B, plus X and Y input codes.

Notes

  • The Anbernic RG552 will provide the best gaming experience. It looks amazing.
  • The game will have swapped the A/B and X/Y buttons, but this is an easy fix within the Options menu. The controls won’t save though, so you will need to do this every time you start a new game.
  • For RG351 devices, the game will run at 30fps and expect some slowdown in later stages.
  • If using a 3:2 device (RG351P, RG351M, RGB10), I recommend going into the settings and changing the following:
    • Display Mode: Borderless Fullscreen
    • VSYNC: OFF
  • If you are getting a “Failure performing first time setup, report this” error, see the note in the green box above.

Recent updates

As of September 2023, recent updates to ArkOS have broken compatibility with this port. A fix is explained here.


Changelog

11FEB2024
– updated the package file

15SEP2023
– added “recent updates” section to account for SDL updates for ArkOS

14JUL2022
– added intro video guide
– added hardcode controller adjustment section

12JUL2022
– added ArkOS Final instructions
– added MacOS instructions

11JUL2022
– published guide
– added mono package instructions

87 thoughts on “TMNT: Shredder’s Revenge on Retro Handhelds

  1. Hi, everytime I try to start it, I almost instantly got the message: “Failure performing first time setup, report this” when it tells me that it will patch de game. Could you help me? Im on RGB10.

    Like

    1. I’ve updated the guide to show the fix, sorry about that. You need to have the most recent version of PortMaster installed on your device, and then run the install script for Timespinner, Owlboy, or Stardew Valley. That will install a mono package necessary for TMNT to run.

      Like

  2. I am attempting this on an RG351MP running the latest version of ArkOS. I was able to add all of the files/folders to the Ports folder, however, when I launch the TMNTSHREDDERSREVENGE folder, I get a quick blinking cursor in the top left corner, then the ArkOS splash screen, then back to a blinking cursor for a few seconds, and it then closes out and goes back to PORTS folder.

    I attempted to delete this again and start from scratch but seem to be having the same results.

    Like

    1. I’ve updated the guide to show the fix, sorry about that. You need to have the most recent version of PortMaster installed on your device, and then run the install script for Timespinner, Owlboy, or Stardew Valley. That will install a mono package necessary for TMNT to run.

      Like

  3. Hey RGC, Thank you for the fantastic guides! Two things:

    1. It seems the TMNT.zip file has a virus detected when attempting to download via the link you have here in your guide. Just wanted to report that. *was able to download the file regardless.
    2. That being said; I cannot complete the final install on my RG351V device via AmberElec. I followed your guide to the best of my ability, but once the TMNTSR file is chosen under PORTS, a “failure to perform first time setup, report this.” message is posted and ends the setup.

    Any idea what might be going on? Thank you again for the time. -Christopher

    Like

    1. I’ve updated the guide to show the fix, sorry about that. You need to have the most recent version of PortMaster installed on your device, and then run the install script for Timespinner, Owlboy, or Stardew Valley. That will install a mono package necessary for TMNT to run.

      Like

  4. Hey, thanks so much for the write up and video, it’s fantastic! Do you foresee fixes that will allow control/display settings to persist between sessions? I like to change the game to borderless (better scaling on rg351m), vsync off etc and if you forget to change controls it’s a trip back to the main menu…

    Like

  5. how long does it take to see any patch progress? it keeps saying go grab a pizza slice or two. and nothing afterwards?

    Like

      1. Got it to work. What ended up working was just letting it sit there for about 45 minutes. Had to take it back to work with me and check on it between customers and service techs so im not really sure how long it took so be patient and just wait if you can

        Like

  6. My current issue is that I’ve gotten all the way to the “loading could take up to 15 minutes” but then it goes back to the main screen. Any time I try to load it in the future, I get “Loading, please wait” then back to the port screen after 10-15 seconds.

    Like

    1. @Richmond, if you are getting a kickback to the menu before it finishes the loading section it could be a few things. For example, if you are running an out-of-date firmware (like ArkOS final on the RG351P or RG351M) it will do that, you’ll have to go through the update section in the guide above. What firmware / device are you using?

      Like

  7. On AmberElec Yaba Da Doo (:P)
    When I was copying from the first deport (depot_1361511), as I am on Mac it asked to just skip the entire Content Folder, rather than just the ogv Video.
    I was wondering why the first Depository from Steam was 700MB, but the SD card gameContent had only 100MB.
    I did copy the content of the second depot (depot_1361512) and skipped all files there without a problem.

    1/ I managed to get the game to boot on RG351MP, but controls not working at first.
    Quit (START and SELECT), rebooted the RG351MP, back into Ports folder > started into the game.
    2/ It glitched after the intro video when I pressed Start to skip opening scene – TMNTS game quit and booted me back out to the EmulationStation/AmberElec screen.

    3/Started the game again from Ports folder.
    Now controls working <= Third Time Lucky 😀

    Of course I don't think Multiplayer/wireless will be possible on RG351MP, that's where my Switch copy will come in (:D multiplayer with the niece and nephew).

    For anyone else struggling – check if you are copying everything over from the first CONTENT folder in (depot_1361511) there are ~500MB worth of assets there

    Like

    1. I’ve updated the guide with more in-depth Mac instructions, including that hiccup when moving over the Content folder, thanks for the feedback. Also, it turns out that the second depot is not necessary to run the game, so I’ve streamlined the installation to only account for that first depot.

      Like

  8. So, I am running the current release of Retro Arena on the RG503. I followed your tutorial and was able to get the game to load. However, when it loads it says the whole part about it’ll take upwards of 15 minutes. It stays there for about a minute then says “performing game patching.’ That takes about 45 seconds then it loads the game. It lets me select my character and goes to load the first level and backs out. It does this every time I go to load it. I did notice that I had 7 more files than you did when I went to drag the game files into the tmnt gamedata folder. Is there a way to get a file list so that I can make sure I don’t have extra files and see if that solves it? Thanks in advance!

    Like

  9. For Rg 351m/p I recommend going from window to full screen mode. It fixes the aspect ratio and makes the image overall sharper at the drawback of having some black borders at the top and bottom.

    Like

  10. And if you did all of the previous steps but still gives you an error check if you have enough space left. For me I was low on space and took me a second to realize what is the problem.

    Like

  11. I can’t get it to boot. ArkOS up to date, updated elif path to tools directory, placed mono in PortMaster/libs. It’ll take the 15 mins to install then go back to emulation station. When I attempt again, it’ll take maybe 4-5 mins then return to emulation station. I’ve wiped the files and repeated the process twice with the same results. Any advice or any logs I can check to pinpoint the issue?

    Like

      1. i’m using a rg351mp with sandisk evo sd card
        I have 5gb free on first sd card and 50gb free on second sd card (where tmnt installed) but i experience random game crashes especially when exiting from options menu (if nothing changed in options no crash) or during cutscenes (in fact it’s like it’s crashing when any settings needs to be saved…)

        is it normal that the line “performing game patching…” is displayed during about 30 seconds every time i launch the game?

        please note on this device, the intro video is not running very good even if it’s in the converted format.

        Like

    1. Hi dude..
      I think the PortMaster port of this TMNTSR only works on RetroArena, JelOS, AmberElec, and ArkOS.
      What device are you trying this on?

      (Sorry, was going to reply but WordPress did something strange with the comment section 😅)
      /V

      Like

    1. I’ve got the 503 and it lets me change the resolution in the options. My son has the 351mp and it won’t let me change the resolution. Must only be changeable on the better screens.

      Like

  12. I have a RG351V, I’ve followed the steps down to the T. Installed PortMaster: Owlboy but that didn’t work. after that i’ve somehow lost Portmasters from my options menu and can’t seem to find it at all. i’m using Arkos fully updated and Portmasters was updated too before it vanished.

    Any ideas on what im doing wrong?

    Like

  13. Hi everyone!
    Tried to run script using Batocera running on Raspberry Pi 3B, same error “checksum failed or unpatched binary…”
    Any ideas how to make TMNT run on Raspberry Pi?

    Like

  14. RG351P. Amber Elec Sanshiro Tower. Steam game. Tried installation using “Mac”, “Checksum fail or unpatched binary found, patching game… Performing first time setup… This may take upwards or 15 minutes (RK3326), go grab a pizza slice or two.” And nothing happens. I followed the instructions, moved my game data files and overwrited the content folder, when I was asked to. What am I doing wrong? Thanks!

    Like

      1. I was unable to get it working with the current version from Steam. An update to the game must have broken the script. See my post from yesterday on this page – I was able to get it working on my rg353p and rg351m using an older version of the game.

        Like

  15. Hello all, I’ve gotten this to work on my AmberElec sd card but much prefer ArkOS Final (I know I can use the wummle fork but I didn’t care for some of his changes). It looks like Russ updated this so that it can run on ArkOS final if you manually update Portmaster and change the scripts. Is this so or did I misread something? I can get is to the “waiting upwards of 15 minutes” part and it says patching, then kicks me back to the Portmaster page after like 2 minutes. Any insight or am I trying something that cannot work?

    Like

    1. I’m seeing a similar issue on Jelos on my RG353P – I see no progress under the “waiting upwards of 15 minutes” section – however after about 15-20 minutes it does close and go back to the Ports menu, but when I launch the game it simply closes.

      Like

      1. Update gang – I was able to snag an older version of Shredder’s Revenge than what’s on Steam, and this worked – they must have changed something with a recent patch?

        Like

      2. What are you running? Cause I still can’t get it running on my RG351P with ArkOS final even though it seems like it should work

        Like

    2. I’m not going to link directly to anything out of mad respect for our generous host, but if you search for the following info hash in your favorite search engines I bet you’ll find something: 6D9084A256B304B2EBEEBBC194E61C08100B04B7

      Like

      1. I have tried this hash and sadly the links are for the patched igg games link , probably we require the steam rip link without any patches with an old version. if you can supply that will be helpful

        Like

      2. Update: I was able to download an earlier version of the game using Steam’s console and successfully use this in this Portmaster setup for TMNT: Shredder’s Revenge:

        In Windows, open a command window “Run” by pressing «Win + R» and then enter the command: steam://open/console, and then press Enter. Alternatively, open a web browser (Chrome, for example) and enter the following in the address bar: steam://nav/console

        If you’re using linux, in a terminal window run the following command: steam steam://open/console

        When the Steam console open in the Steam window, enter the following command:

        download_depot 1361510 1361511 4640527240799455063

        This will download an earlier version of the game from June 16, 2022 (prior to an update in August) to your Steam installation’s content folder – this will take a while to download and the Steam console will display the path of the finished depot download when it completes.

        Use these downloaded files in the setup and it should complete successfully.

        Like

      3. It will be helpful if you share this link with me on google drive
        I would apperiate your help
        Upload this version please

        Like

  16. Managed to install this and redo the video. I can get all the way upto the character selection screen. Select my character and then it starts to play the first intro screen and crashes 😦

    Like

    1. What system are you trying the on?
      I’m on RG351MP (AmberElec as of June 2022 – stable release)
      TMNT SR was very shaky to start.
      Maybe 2-3 mins to load from AmberElec

      AT first I remember it had trouble reaching the character select screen at all. But a couple.of restarts and it was fine.
      It’s still working for me when I checked today. (It’s on my external SD card – in the Ports folder)

      Although I admit I am mostly playing this on Switch with the kids more than on the handheld /Steam side.

      Like

    1. I wonder if it is related to what bmsimmons (comment above) mentioned. Like of you need an older version of TMNTSR from Steam’s repository and not the latest (patched) for this to work in Portmaster

      Mine is from the older release from when Russ first made the video and guide.

      Like

  17. Actually its not, its given me 0.238. using that download command above. I`ll need to find a proper 0.145 version from somewhere.

    Like

  18. Managed to get 1.0.0.145 version 16th June 2022. Same thing as soon as it starts to load the first level it crashes to menu. Pah.

    Like

  19. Figured it out. I’ve always tried story mode and its this that crashes after the character selection screen.
    Just so happened I went to the Arcade option and the game starts after the character selection screen !

    I have the RG503 and the .sh change you have to make applies to this for ArkOS so I had to add these two lines to the .sh file as well at the beginning if/fi statement.

    elif [ -d “/roms/tools/PortMaster” ]; then
    controlfolder=”/roms/tools/PortMaster”

    Like

  20. With the new Dimension Shellshock DLC, do the same methods in the guide apply? Or will we have to wait for more porting work to be done?

    Like

  21. If you update to latest version of arkos then the new sdl2 update breaks tmnt. See pinned github issue 780 on arkos github

    You have to login via ssh and issue these commands to link the previous sdl2 version instead of the updated one

    sudo ln -sfv /usr/lib/aarch64-linux-gnu/libSDL2.so /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0
    sudo ln -sfv /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0.2600.5 /usr/lib/aarch64-linux-gnu/libSDL2.so
    sudo ln -sfv /usr/lib/arm-linux-gnueabihf/libSDL2.so /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0
    sudo ln -sfv /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.5 /usr/lib/arm-linux-gnueabihf/libSDL2.so

    Like

    1. I tried this and it still doesnt work. It took me ages to get it to work in the first place dont think I’ve got the energy to try and fix it again.

      Like

  22. I recently updated my RG351V to the latest prerelease AmberELEC firmware, as well as the latest version of PortMaster. Something seems to have gone wrong with the compatibility for this game. Anyone have suggestions to get it working again?

    Like

    1. Downgrade sdl2

      If you update to latest version of arkos then the new sdl2 update breaks tmnt. See pinned github issue 780 on arkos github

      You have to login via ssh and issue these commands to link the previous sdl2 version instead of the updated one

      sudo ln -sfv /usr/lib/aarch64-linux-gnu/libSDL2.so /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0
      sudo ln -sfv /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0.2600.5 /usr/lib/aarch64-linux-gnu/libSDL2.so
      sudo ln -sfv /usr/lib/arm-linux-gnueabihf/libSDL2.so /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0
      sudo ln -sfv /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.5 /usr/lib/arm-linux-gnueabihf/libSDL2.so

      Like

  23. For the Hardcoded inputs it says “Then open gamecontrollerdbturtles.txt and make your adjustments specific to the game.”, but there’s roughly 1987 lines of controllers to choose from and I’m running JelOS on a powkiddy device.

    Like

  24. TMNT port package in this article doens’t work with latest release of TMNT Sheredder’s Revenge with dimension shellshock DLC.
    Title is working , but after title & explanation of gamecontorl, couldn’t enter real game play.

    Like

  25. Doesn’t hurt to ask… This is not compatible with rg350 devices right? Particularly the rg280v.. a shame, but it’s to be expected

    Like

Leave a comment