Skip to content
SRB2 Public (Switch Port)
C C++ Shell Roff VBA Makefile Other
Branch: switch-port
Clone or download
Pull request Compare This branch is 6296 commits ahead of carstene1ns:switch-port.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Merge branch 'master' into public-musicplus-libopenmpt May 21, 2019
bin Fixed compilation Dec 8, 2019
doc SRB2 2.1.12 release Nov 12, 2014
libs Update DLL-README.txt Dec 6, 2019
objs Merge Dec 7, 2019
tools Merge remote-tracking branch 'origin/master' into credits-update Nov 30, 2019
.gitattributes avoid the source code from getting the wrong EOL Sep 20, 2019
.gitignore Update Jun 9, 2019
.travis.yml SRB2 2.1 release Mar 15, 2014
Doxyfile SRB2 2.1 release Mar 15, 2014
LICENSE SRB2 2.1 release Mar 15, 2014 Merge branch 'switch-port' of into … Dec 7, 2019
SRB2.cbp Backport the Blockmap library I made two years ago Nov 30, 2018
SRB2_Debug.props More work to cleanup the ARM builds Dec 23, 2018
SRB2_Release.props More work to cleanup the ARM builds Dec 23, 2018
SRB2_common.props More work to cleanup the ARM builds Dec 23, 2018 change SDL into HAVE_SDL Jul 25, 2014
appveyor.yml Update version to 2.1.25 Aug 16, 2019
comptime.props MSVC: fixed up MSVC project May 22, 2016 build: this script needs bash, not ash May 18, 2016 Implement deployer scripts for Travis -- OSX and Linux package building Dec 30, 2018 Fixed compilation Dec 8, 2019
srb2-vc10.sln Added ARM/ARM64 to whole vc10 sln Dec 21, 2018
srb2-vc9.sln SRB2 2.1 release Mar 15, 2014
srb2banner.png Fix debian desktop icon Nov 27, 2018

Sonic Robo Blast 2

Sonic Robo Blast 2 is a 3D Sonic the Hedgehog fangame based on a modified version of Doom Legacy.

This fork aims to support the Nintendo Switch.

Installation Instructions

You can find downloads in releases.

  1. Make sure your Switch can run homebrew.
  2. Extract the contents of the zip to the root of your SD card.
  3. Start SRB2 via hbmenu (or whatever method you prefer).

NOTE: This game requires full RAM access. This means you can't launch hbmenu from the album applet when running this. With the latest Atmosphere build and its default config, you can hold R while starting any game to open hbmenu with full RAM access.

Update Instructions

Extract the contents of the update patch to the root of your SD card. Overwrite any files that might conflict.


  • Full online support
  • Full mouse/keyboard support
  • Full software keyboard support


  • I've included a config.cfg that sets the resolution to 800x450 by default. It doesn't really do anything else so you can leave it out if you'd like.
  • The game takes a bit to boot. A faster SD card may help with this.
  • Without a config file, the game's default resolution is 320x200. I recommend setting it to 800x450 for the best balance of performance and visuals.
  • The game continues to run while on the Switch's home screen when you are unable to pause to prevent lag-switching.
  • If you want to play the game with mouse/keyboard, you'll have to bind most of the buttons yourself.
  • All button bindings are set "correctly" out-of-the-box. You might want to tweak them to your liking though.



  • NASM (x86 builds only)
  • SDL2 (Linux/OS X only)
  • SDL2-Mixer (Linux/OS X only)
  • libupnp (Linux/OS X only)
  • libgme (Linux/OS X only)
  • libopenmpt (Linux/OS X only)


See SRB2 Wiki/Source code compiling


Follow the instructions here, using the following make command:

make -C src/ SWITCH=1

Or, if you want to enable network debugging:


If you plan on switching flags, make sure to run make clean first.

More complete build instructions coming soon(TM).


Sonic Team Junior is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2.

I (heyjoeway), STJr, or the SRB2MB are in no way responsible if this port somehow manages to break your Switch.

You can’t perform that action at this time.