Ports

From SRB2 Wiki
Jump to: navigation, search

This article is a list of ports of SRB2 to platforms other than Windows. SRB2 has been ported to a variety of different platforms during its lifetime, including other operating systems such as Linux and Mac OS X, but also gaming consoles such as Dreamcast, PSP and Wii. Currently, the only ports that are officially maintained and supported are the ones to Linux and Mac OS X. Other ports were either never finished or only support outdated versions of SRB2.

Ports of SRB2 to other platforms typically attempt to provide an identical experience to the Windows version, with some allowances made for the limitations of the respective platform. For example, many of the console ports exhibit lag in larger levels because the console hardware is less powerful than that of a modern PC.

During the v2.0 era, a thread was maintained on the SRB2 Message Board which contained binaries of SRB2 for different platforms.[1] Currently, no such collection of ports exists for v2.1; instead, users have to compile the binaries themselves from the source code.

Maintained ports

The only ports that are currently maintained are the ones for Linux and Mac OS X. While official builds for these are not currently released on srb2.org as with the Windows version, SRB2's GitHub repository does automatic build jobs for these ports via Travis CI to ensure that they compile. Users who want to play SRB2 on these operating systems have to compile builds themselves. Instructions for compiling the Linux version with Makefiles can be found here. Gameplay-wise, there is no difference between these ports and the Windows version of SRB2, but they may not be netgame-compatible.

During the v2.0 era, official builds were maintained for Linux and Mac OS X. Community member Callum maintained Yum and APT repositories for SRB2 Linux for the i386, x86-64, PowerPC and ARM architectures, as well as standalone packages.[2] Development team member Alam maintained the official Mac OS X builds in his port thread on the SRB2 Message Board.[1] They are universal binaries which works on both PowerPC and Intel architectures.

Unmaintained/abandoned ports

These are ports of SRB2 that were once made in the past, but are currently not maintained and have possibly been abandoned. Support for these ports exists in SRB2's source code, but it might be incomplete or out of date. For many of these ports it is currently unknown whether they can be compiled or if they would function properly even if they could be.

Android

There is no functional Android port of SRB2 as of writing. Development team member orospakr was reportedly working on an Android version of SRB2. According to orospakr, only video was working; input and sound were not.

DOS/Windows 9x

This port was the original version of SRB2; some of the earliest versions of SRB2 run only on these platforms. The Win32 (Windows 32-bit) version was itself a port originally, but eventually became the main platform for SRB2. From SRB2 2k3 onwards the DOS version was no longer included in releases, and support for it was officially dropped. Despite this, some support for DOS/Win9x still exists in SRB2's source code, and (as recently as 2014) a special build of SRB2 v2.1.8 for Windows 9x has been shown to be fully functional.[3]

Dreamcast

During the v1.08 and v1.09 eras, team members Alam and Logan created four different demos to show that SRB2 could be run on the Dreamcast. In the first demo the player could only get as far as GFZ1 before the game crashed, but by the fourth demo it was possible to play up to THZ2 despite severe lag in larger areas. Sound effects worked, but no music could be played. Splitscreen mode worked decently in some maps. Additional WAD files could be loaded with the console when a Dreamcast keyboard was used. It is unknown what state the Dreamcast port is currently in at this point.

GP2X

A port of SRB2 v1.09.4 to the GP2X Wiz was released by Pickle on May 20th 2009 [4], but without music.

Pandora

The Pandora uses a standard OMAP3 ARM-based Linux system with advanced graphics capabilities, so SRB2 builds for ARM Linux should work with the Pandora out of the box. SRB2 v1.09.4a was shown to work perfectly on the Pandora by Pickle, one of the Pandora developers.[5]

In June 2010, Pandora developer Pickle released the Pandora version of SRB2[6] (a port of SRB2 v2.0.6, the latest release at the time). It worked perfectly in terms of functionality, but as expected the performance was mediocre, unless the Pandora's processor was overclocked or the resolution was lowered. A later beta using OpenGL ES was released by Pickle in September 2010, which was reported to be faster than the June 2010 version. [7]

In May 2015, years later, a new but separate port of SRB2 to Pandora was released by ptitSeb.[8] This was most likely a port of v2.1.14, the most recent release of SRB2 at the time. Three versions were released, the latest of which was released in March 2016.

PlayStation 3 (PS3)

A port of SRB2 v2.0 to the PS3 was made by Callum and released on the SRB2 Message Board, though it was untested at the time and not known whether it worked at all.[9]

PlayStation Portable (PSP)

A port of SRB2 v2.0.6 to the PSP is available in Alam's port thread on the SRB2 Message Board.[1] When trying to load most levels, the game will crash, and the framerate will be greatly reduced in large areas.

Wii

SRB2Wii was an unofficial port of SRB2 v2.0 to the Wii, mainly worked on by community member Callum. More information can be found in Callum's SRB2Wii userpage article on the WiiBrew wiki.

There were two main distributions of SRB2Wii:

  • A Wii Linux-based distribution that runs the PowerPC Linux version of SRB2 [10] – This features working controls and partial netgame support, but sometimes inadequate performance in CPU-intensive maps. The latest version of this distribution, v2.0.0 Release Candidate 4, was released in November 27th 2010, and is based on SRB2 v2.0.4.
  • A libogc-based distribution [9] – This features working controls and faster performance than the Wii Linux-based distribution. The latest version of this distribution was released in April 08, 2011, and is based on SRB2 v2.0.6.

Windows Mobile/Windows CE/Pocket PC

SRB2's source code contains an Embedded VC++ 4.0 project file as well as SDL libraries for the platform. However, these currently do not work.

Xbox

Some support exists in SRB2's source code for compiling SRB2 under OpenXDK (an open source compiler for Xbox games), but it is incomplete. Akirahedgehog was working with Alam to get it running, but it is unknown what state the port is currently in.

"Impossible" ports

This section lists platforms for which ports are often requested, but whose hardware is not powerful enough to run SRB2. Therefore, no playable ports exists for these platforms.

  • Game Boy Advance – Contrary to popular belief, the GBA has enough buttons to at least play SRB2, but not enough to assign a button to every function. However, the resources SRB2 requires to run are far greater than what the GBA can provide.
  • Nintendo DS – The resources SRB2 requires to run are far greater than what the DS can provide. The 3DS, however, might be able to run SRB2. A Nintendo DS port was made by developers Callum, Oogaland and Alam during the v2.0 era with the aim of optimizing SRB2's performance, but it ran out of memory before it got to the title screen. [9]

References

  1. 1.0 1.1 1.2 SRB2 Message Board – SRB2 Ports list
  2. SRB2 Message Board – SRB2 Linux Packages/Repos for RPM-based and DEB-based
  3. SRB2 2.1.8 Windows 98SE Fully functional – YouTube
  4. pyra-handheld.com Forums – Sonic Robo Blast 2 v1.09.4 thread for GP2X Wiz
  5. pyra-handheld.com Forums – Sonic Robo Blast 2 v1.09.4 thread for Pandora
  6. pyra-handheld.com Forums – Sonic Robo Blast 2 v2.0.6 thread for Pandora
  7. pyra-handheld.com Forums – Sonic Robo Blast 2 v2.0.6 beta with OpenGL ES thread for Pandora
  8. pyra-handheld.com Forums – Sonic Robo Blast 2 v2.1 thread for Pandora
  9. 9.0 9.1 9.2 SRB2 Message Board – SRB2 Console Ports info (PS3 r6752)
  10. SRB2 Message Board – SRB2Wii thread (v2.0.0 RC4, news update 27/11/2010 10:46)