Difference between revisions of "User:Callum/Sonic Robo Blast 2"

From WiiBrew
Jump to navigation Jump to search
m (If you're gonna add a video, do it right)
Line 74: Line 74:
 
{|
 
{|
 
| <youtube valign="top" align="left">8ek26GoUBQ4</youtube>
 
| <youtube valign="top" align="left">8ek26GoUBQ4</youtube>
 +
| <youtube align="left">3A6DIgAT6U0</youtube>
 
|}
 
|}
<object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/3A6DIgAT6U0?version=3&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3A6DIgAT6U0?version=3&amp;hl=en_GB" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
 
  
 
== Changelog ==
 
== Changelog ==

Revision as of 18:11, 3 November 2011

SRB2Wii
SRB2 Titlescreen.png
General
Author(s)Sonic Team Jr.
Ported byCallum Dickinson
TypePlatform game
Version2.0.0 RC4
LicenseGPL
Links
Discussion
Source
Peripherals
WiiMote2.svg Nunchuck alternative.svg ClassicController.svg GameCube Controller USB Keyboard USB mass storage device Loads files from SDHC cards in the Front SD slot Local WiFi Internet


SRB2Wii is an unofficial port of the 3D platformer fangame Sonic Robo Blast 2 to the Wii. The PowerPC Linux version of SRB2 runs under a tiny Wii Linux distribution loaded from an image. SRB2Wii is under ongoing development.

As of 24 August, 2009, there are two versions that can be downloaded:

An IOS version for people loading SRB2Wii through IOS/Homebrew Channel.

A mini version for people loading SRB2Wii through BootMii, using mini, an open source replacement for IOS, but unfortunately it is not working right now, so builds for it are not uploaded.

How it works

Sonic Robo Blast 2 is almost completely written in ANSI C. This allows it to be compiled and run on different architectures, given the appropriate modifications necessary to make it work on another operating system and architecture. SRB2 is known to work (with varying degrees of compatibility) on at least the x86, x86-64 (hasn't been tested thoroughly, just one test compile), PowerPC, ARM, MIPS, SuperH and SPARC architectures, working best on the x86, PowerPC and ARM architectures. It can also compiled for the DOS, Windows, Windows CE, Linux, Mac OS X, FreeBSD (and possibly other Unix-like operating systems) and Solaris operating systems, in addition to many different video game systems.

The Wii's Broadway CPU is a standard PowerPC architecture chip developed by IBM. As a result, standard PowerPC code can run on it (once homebrew has been enabled). The team at GC-Linux.org have taken this opportunity to expand their GC-Linux operating system to support the Wii as well. Almost all the hardware on the Wii is now well supported under Linux with the latest kernel patches, with only the Wii's optical drive not working at all and the internal Wi-Fi only working when the Wii Linux kernel is run under mini, an IOS replacement by Team Twiizers. The currrent status of Wii Linux has allowed programs that run under Linux but cannot easily be natively compiled for the Wii to run on the Wii through compiling for the powerpc-linux target and then running it on Wii Linux.

SRB2Wii follows this approach. It always uses the latest Wii Linux kernels for the most advanced features. SRB2Wii was forked from the Kobo Deluxe for Wii 0.5.1 sources. In its current stage, though, it looks nothing like the original source on which it was based. SRB2Wii is a heavily simplified and modified version of GC-Linux.org's whiite-linux operating system (older version based on Debian etch), although they otherwise now have no similarities whatsoever. It only includes and loads the programs, libaries and services necessary to run SRB2 and related programs, and exploits Busybox to consolidate most of the required programs into one executable for simplicity.

SRB2Wii's boot process is relatively simple (compared to other Linux distributions):

1. Kernel is loaded into memory and executed on the Broadway.

2. Kernel executes subroutines, probes the hardware, and then mounts the initramfs filesystem compiled into the kernel image.

3. Kernel executes the "init" shell script on the initramfs.

4. The script sets variables necessary to run, mounts sysfs and procfs, then mounts the first partition on the front SD card and looks for the main filesystem image.

5. 1) If found, it will mount that filesystem and pass control to the /sbin/init program under the main filesystem, which continues the SRB2Wii boot. 2) If it finds a tarball of the filesystem image, it will convert the tarball into the main filesystem image and continue booting as in 1), but instead loading the /sbin/kickstart program, which will further prepare the filesystem for use. 3) If no image or tarball is found, it will report to the user that it cannot find the filesystem image and reboot.

6. The /sbin/init program follows the commands laid out in the /etc/inittab file, which sets up virtual terminals, and starts the runlevel S.

7. /etc/init/rcS runs all the scripts in /etc/rcS.d, which currently includes kserv (mount procfs and sysfs if they are not mounted already), procps (kernel services), udev, dbus, hcid (Bluetooth) and swap (mount swap files). rcS then passes control back to inittab.

8. inittab launches runlevel 1, which loads the rc1 script. /etc/init/rc1 runs all the scripts in /etc/rc1.d, which currently includes wiimote (start the Wii Remote and Sensor Bar), cleanup (create special device node symbolic links and create some files SRB2 needs) and launcher (the SRB2Wii launcher).

9. The SRB2Wii launcher starts and the user is now given control.

Media

Downloads

Download links:

Binary (IOS version, for the Homebrew Channel):

v2.0.0rc4 (r6112) - http://repos.srb2.org/srb2wii/srb2wii-ios-2.0.0rc4.tar.bz2 (11.1MB)


Binary (mini version, for BootMii, has Wi-Fi support and faster load times): [unavailable for now]


Source:

svn://code.srb2.org/SRB2/branches/WII

Videos

Changelog

SRB2Wii v2.0.0 Release Candicate 3 has been released for testing (31/7/2010 00:00):

Features and bugfixes: - Booting SRB2Wii from a USB stick is now fully supported, although it most definitely will be much slower than doing everything under the internal SD card slot. - The GameCube controller is now fully supported. - Multiplayer support has been coded in, although due to limitations with wminput, only one Wii Remote can be connected at a time (more than one GameCube controller can be used however), and SRB2 seems to be having problems with registering input from the second controller ingame. This will be fixed before the stable release. - The extended swap is now supported again, and it really does make a difference with larger levels. Under the Settings menu of the launcher, you can tell the SRB2Wii system to create the extended swap file (which will then be used by default from then on). Be warned that this process will take a little while and requires some disk space, as the extended swap file is 128MB.

Regressions and bugs: - SRB2Wii/mini will not load anymore, so not uploaded this time. - Fine text on the splash screen isn't rendered properly. This will be fixed in the future.

Future features: - Internal updates through the Internet.

Yep, we are getting there! To the final version of SRB2Wii v2.0.0. Hopefully, SRB2Wii can be made to be as functional as possible, and to have great SRB2 performance as well.


Update 24/7/2010 10:02:

Hi guys, just wanted to let the guys who don't follow my SVN revisions know that I have officially gotten GameCube controllers to work properly in SRB2Wii, at least the first controller (my second controller does not show up for some reason, I will diagnose this and fix it).


SRB2Wii v2.0.0 Release Candicate 2 has been released for testing (19/7/2010 18:38):

Features and bugfixes:

- Fixed error where the program "/sbin/modprobe" would stop SRB2Wii from booting if the bootsplash was enabled.

- Fixed rebooting and powering down.

Regressions and bugs:

- SRB2Wii/mini will not load anymore, so not uploaded this time.

- Accessing the console by using the "BusyBox Shell" option, for some reason, locks up SRB2Wii. This option will be removed, as you can instead just press "Ctrl+Alt+F2" to access a shell.

- You can no longer have the extended swap (which can improve performance with large levels). This option will return in the next release.

- Fine text on the splash screen isn't rendered properly. This will be fixed in the future.

Future features:

- Multiplayer.

- GameCube controller support.

- Custom EXE (binary) support.

- Internal updates through the Internet.

Sorry guys, it's not easy to make sure that something is absolutely free of bugs. This one is safe to use. =)

News update 19/7/2010 00:58:

Hi guys, I've just discovered some big issues with the version of SRB2Wii I've uploaded, please do not download until I've fixed them. Thanks

SRB2Wii v2.0.0 Release Candicate 1 has been released for testing (18/7/2010 19:43):

Features and bugfixes:

- Filesize has been made much, much smaller compared to v1.5.0.

- SRB2 performance has been improved.

- SRB2 WAD loading has been fixed. You can plug in a USB drive and use the launcher to load WADs onto SRB2Wii, but this will only load files actually NAMED .wad, so for other files (or if you prefer copying WADs from your PC directly instead) you can directly copy them to /srb2wii/addons on the SD card.

- Static and DHCP networking has been fully implemented, which will allow SRB2Wii to join netgames when SRB2's netgaming issues are solved. At the moment, however, since SRB2Wii/mini does not work, you will only be able to use a USB-to-Ethernet LAN adapter for now.

- Brand new splash screen that is displayed while SRB2Wii loads. Will be able to be disabled in future if that is the user's preference (or can be manually disabled by editing /srb2wii/linux.conf).

- SRB2's menu controls now work. Use the D-pad to navigate the menu, and press the 1 key to go back in selections and bring the menu up while ingame.

- The Classic Controller has been confirmed to be working, and its D-pad also controls the menu.

Regressions and bugs:

- SRB2Wii/mini will not load anymore, so not uploaded this time.

- Accessing the console by using the "BusyBox Shell" option, for some reason, locks up SRB2Wii. This option will be removed, as you can instead just press "Ctrl+Alt+F2" to access a shell.

- You can no longer have the extended swap (which can improve performance with large levels). This option will return in the next release.

- Fine text on the splash screen isn't rendered properly. This will be fixed in the future.

Future features:

- Multiplayer.

- GameCube controller support.

- Custom EXE (binary) support.

- Internal updates through the Internet.

Boy, we've come a long way since v1.0.0, haven't we? I do enjoy making SRB2Wii, and I really love all the support you guys give me. Sorry for this release taking so freaking long, school this year is a fucking bitch >_>, and I don't have a lot of time to do anything other than schoolwork anymore (I actually have been a bad boy, taking too long developing this these holidays!). Oh well, the joys of growing up I suppose.

Enjoy! =)

SRB2Wii v1.5.0 has been released! (1/1/2010 10:10) Here are the changes:

- SRB2Wii's colours have been fixed. It is now a genuine SRB2 experience again. =)

- Massive speed boost from unlocking the Wii's secondary RAM, large levels like ERZ2 even load and play.

- Partially redesigned innards, the boot process is now completely different to the previous versions although this does not affect functionality at all. Updated to the latest versions of SDL and SDL_mixer for this release, the next stable release will have EVERYTHING updated to the latest usable versions.

- Updated the kernel to MIKEp5, based on Linux kernel 2.6.32. This new release brings mainline kernel support for the Wii's wireless chipset, and preliminary support for the Wii's DVD drive (support for both in SRB2Wii is currently unimplemented though, although they will be at a later date, and will be SRB2Wii/mini only.)

- Many other undocumented but otherwise influential and important updates, fixes and additions.

Sorry about the huge wait for the latest release, I've been working on this and around other things as much as I can to deliver the best SRB2Wii experience. Although this one isn't perfect (the launcher is still incomplete, some functionality is still missing and SRB2 isn't the smoothest to play yet) but I really hope you'll enjoy this release. =) Hopefully this will be a pretty good New Years present for you all. Just make sure to delete the old SRB2Wii version off your SD card if you already have one on there, and move your SRB2 data files to /srb2wii on your SD card.


Update 22/12/2009:

Hi, guys! Sorry for not keeping you guys up to date. I've decided to take a break from SRB2Wii development for a little while, to sort out other things (things like my home computer network, my now very messy bedroom and actually hanging out with my family for the holidays). I will not be working on SRB2Wii for the next few days to spend time with my family over Christmas. Once I do start working on it again though, a release will be imminent, I'm sure, because I left SRB2Wii in a pretty stable and complete state...

Have a very happy Christmas and New Year, everyone. =)


SRB2Wii v1.5.0 beta 2 has been released for testing (30/11/2009 14:23):

- The IOS version now properly reboots to the Homebrew Channel. To circumvent the v4.2 update, the Homebrew Channel v1.0.6 had its title ID changed from HAXX to JODI. HAXX was hardcoded into the Linux kernel, so it had to be patched at compile time to load into JODI instead of HAXX.

- Fixed the Linux kernel killing the tarball conversion process. The process is much faster as well.

- Fixes to the SRB2Wii build system, rewrite will take place soon. (behind the scenes change)

TODO list for the final release of SRB2Wii:

--SRB2WII itself--

- Finish the rest of the SRB2Wii launcher functionality.

- Finish network support, and test what I can (Wi-Fi).

- Rewrite more portions of SRB2Wii (specifically the not rewritten portions of the launcher).

- Finish the SDL video driver (Alam).

- Modify the settings for ncurses to be more eye-catching.

--SRB2WII build system--

- Rewrite the SRB2Wii build system, so no more warnings and easier to modify.

- Make the build system create symbolic links to the libraries stored on FAT automatically so the name of the project can be changed easily and everything will be affected.

- Make the build system modify all the $NAME/$STAGE2 variables in all the files so the name of the project can be changed easily and everything will be affected.


SRB2Wii v1.5.0 beta 1 has been released for testing (29/11/2009 14:10):

- First properly working build from the SRB2.org server. Due to the fact that I can't get superuser access on the SRB2.org server, SRB2Wii will have to recreate the filesystem image on first startup (takes 1-2 minutes).

- Uses latest SRB2 build from the ALAM SVN unstable branch, which includes working PowerPC assembly language code, which speeds SRB2 up slightly.

- Underlying SRB2Wii architecture has been almost completely rewritten, so no more errors from the shell and everything is more stable in general.

- 2-player Wii Remote support should REALLY work now, but I still can't test it due to me only having one Wii Remote.

TODO list for the final release of SRB2Wii:

--SRB2WII itself--

- Finish the rest of the SRB2Wii launcher functionality.

- Finish network support, and test what I can (Wi-Fi).

- Rewrite more portions of SRB2Wii (specifically the not rewritten portions of the launcher).

- Finish the SDL video driver (Alam).

- Modify the settings for ncurses to be more eye-catching.

--SRB2WII build system--

- Rewrite the SRB2Wii build system, so no more warnings and easier to modify.

- Make the build system create symbolic links to the libraries stored on FAT automatically so the name of the project can be changed easily and everything will be affected.

- Make the build system modify all the $NAME/$STAGE2 variables in all the files so the name of the project can be changed easily and everything will be affected.


Announcement on 27 November 2009:

Hey guys, the official download links have now become host to daily built SVN revisions (aka I accidentally overwritten them with my new SRB2Wii compilation script without realising that I put in the code to replace the old stuff on the website). Feel free to try them, although their stability can't be guaranteed!

Sorry about the slightly more than two month wait for a non-annoucement, but yeah, I'm back into working on SRB2Wii since school is finally out for me, I have a 3 month break to work on SRB2Wii!


SRB2Wii v1.4.0 has been released! Here are the changes:

- It's a long time coming, the controls finally work. Play SRB2 for as long as you want on your Wii! The supported control schemes are the Wii Remote + Nunchuk and the Classic Controller. Only one remote is officially supported for now, although technically two player controls SHOULD work, its been configured for it and SRB2Wii sets it up correctly. Some levels will be quite laggy, especially larger ones, so remember that.

- SRB2Wii now detects if SRB2's data files are accessible properly, if not, it will reboot.

- Seemingly infinite number of changes underneath to make everything much tidier, faster and more organised.

- SRB2Wii/mini is fully working, so people with BootMii can use that.

- The almost-finished SRB2Wii launcher is now switched on by default. You can configure everything about SRB2Wii with it, and it will also load WADs and custom SRB2Wii build of EXE mods (<--- coming soon by yours truly) from a USB stick, you can also load them onto the SD card directly as well (WADs go in /<apps/bootmii>/srb2wii/data/addons). You may still see some odd things about it here and there, and the set config functionality doesn't work properly yet, so please don't try it yet, thanks.

- Less messages from startup clogging up the screen.

Okay, just quickly: yes, the colours are still wrong, yes, network doesn't work yet (that is being worked on) and yes, there is no GameCube controller support yet.

I like how far this has come in such a short time. Thanks everyone for supporting me. =)

I also love how I managed to get this to a state where I feel that is it at least properly finished before I go to Japan on Saturday, 25 September at 5:00AM UTC+12.

Enjoy.


Long-overdue announcement:

Hey guys, sorry for not keeping you guys in the loop. I've had other things on my plate these past few weeks, namely school exams, girl troubles and I'm going to Japan to go stay with a host family at the end of next week, so I've been really busy. I haven't had the time to write an announcement for you guys, but if you have been checking the link Logan provided in his post, there has been quite a bit of activity behind the scenes on SRB2Wii's SVN branch. Let me list a few of them:

A brand new SRB2Wii launcher is being developed, and is nearing completion. It will allow you to configure everything about SRB2Wii, SRB2 and the options it uses to load (WAD files, binaries it uses, etc), system settings (such as network configuration (currently useless as netplay is disabled in the PowerPC builds of SRB2 anyway =P), accessing the Linux system itself and deleting configuration files, stuff like that). It even plays a little jingle that plays in the background. =)

SRB2Wii/mini now works fully, including the controls and SRB2 itself.

More improvements behind the scenes make tiny improvements in speed, responsiveness, stability and ease of use. Since SRB2Wii is now on the SVN as well, its easier than ever to check out the source and have a field day. =P

Alright, thats all I have time for, for now. You can be sure that I will have a new SRB2Wii release before September 25, 2009 at the latest (thats the day before I leave for Japan).


I think you guys need an update on what's happening:

I shall come out with this, plain and simple. We now have working controls on SRB2Wii. The old SDL GameCube framebuffer driver I was using before isn't compatible with SRB2's controls. Alam is making a brand new one based off of fbcon, which does have working support for SRB2's controls. Through using this, I can play SRB2Wii, although because Alam's new driver isn't finished, it still uses the RGB colour space while the Wii uses the YUV colour space, so the colours are off. Alam has been testing this new driver on my Wii through a remote shell and it works well so far. The driver will be finished very, very soon, I assure you. =)


SRB2Wii v1.3.0 has been released: Here are the changes:

- SRB2WII FINALLY GOES INGAME! Oogaland's fixes to the Software renderer have proved wonderful for SRB2Wii, as even though the controls still don't work (wminput problem), SRB2Wii can and will go ingame, fully working, no screwed up text, no crashes (there is still lag in some (aka most) of the levels though, this will be sorted as I go). =)

- Redesigned portions of SRB2Wii, including the boot process, the filesystem itself and how swap space is handled. There is now a separate swap file for SRB2Wii. In the normal SRB2Wii archive is a 32MB swap file, this can be extended to 128MB (for people who have the space on their SD cards) by downloading swap.tar.bz2 and extracting it onto your SD card (don't worry its literally a 338 byte download =)). SRB2Wii now loads faster, SRB2 itself loads much faster. SRB2Wii also uses less disk space and is smaller to download.

- Made it easier for people who like to play with source to do just that with SRB2Wii =P

- You can now change the parameters SRB2 uses to load yourself by editing /srb2wii/srb2 on your SD card. I like to use it to warp to levels manually to try them out =)

- The mini version has been tinkered with as much as possible, the stupid /dev/mmcblk0p1 error comes up for some reason, but once that error is dealt with SRB2Wii/mini will probably work properly =)

I still haven't tested the networking support. Anyone who has a Wii LAN Adapter that is known to work with Wii Linux can you please report to me that it works? Thanks =)

Enjoy, everyone.


SRB2Wii v1.2.1 has been released! Here are the changes:

- Fixed several behind the scenes issues caused by my late night development. If you had a look at my abomination, trust me, you wouldn't be happy. =)

- Partially fixed SRB2Wii/mini, it now starts correctly but it complains that there is no such block device called /dev/mmcblk0p1 during booting even though there is and drops you to a shell which weirdly enough won't accept any input at all.


News 24/8/2009:

Don't try the mini version, I've just found out how tired I was last night. I've made a huge amount of mistakes, fixing them now. I've also managed to get BootMii installed properly, so I can actually test everything.


SRB2Wii v1.2.0 has been released! Here are the changes:

- Upgraded the Linux kernel to MIKE p3. This brings forth several enhancements.

- SRB2Wii now supports booting from mini via the BootMii menu. This brings SEVERAL advantanges, including 11MB more RAM than SRB2Wii from the Homebrew Channel/IOS, working internal Wi-Fi networking (experimental), USB 2.0 support, and USB bandwidth improvements. SRB2 will be able to load faster and load more sophisticated levels under mini.

- SRB2Wii now has experimental networking support, the Wii LAN Adapter and Wi-Fi work when running under mini, and the Wii LAN Adapter only when running under IOS from the Homebrew Channel. Check /linux/README in network.tar.bz2.

- Wii Remote configuration interface has been greatly simplified (behind the scenes improvement), the Wii Remote now acts as a keyboard, and this will become obvious once you press some buttons while SRB2 is loading =) Nunchuk, Wii Remote accelerometer and Classic Controller support has been added. Once the controls work in SRB2, you can use the Wii Remote sideways, use the Nunchuk and Wii Remote together (and use the Wii Remote for mouselook), or the Classic Controller. GameCube Controller support will come soon.

If you plan on running SRB2Wii from the Homebrew Channel, download srb2wii-ios.tar.bz2. If you want to try SRB2Wii from mini/BootMii menu (just make sure there isn't any other homebew taking up /bootmii/ppcboot.elf, because SRB2Wii NEEDS to execute from there), download srb2wii-mini.tar.bz2. If you want to get networking running, download network.tar.bz2, extract onto your SD card, and follow the instructions in /linux/README.

Whoever tries SRB2Wii through mini hopefully can report to me that it works, unfortunately I haven't had much luck installing BootMii on my Wii, so I have not been able to test it. Thanks. I subsequently also haven't been able to test that the networking interface works either, so I ask people with a Wii Linux-compatible Wii LAN Adapter and people on Wi-Fi with mini report to me that everything works. Thanks.


News 23/8/2009: I have redesigned the Wii Remote configure interface. The Wii Remote is now set up as a keyboard and I can confirm it to be working, that seems to point to an issue with SRB2 as to why the input isn't working.


SRB2Wii v1.1.2 has been released! Here are the changes:

- Installed Python2.6 and Tcl, now SRB2Python works with SRB2Wii (Go check the SRB2Python thread for binaries for SRB2Wii).

- More cleanup to make building and messing around with SRB2Wii easier for the curious =)

With this release, the source is now available for people who want to compile their own SRB2Wii. Well, its not technically source code, but there is a patch for modifications to the Linux kernel. Just read the README file when you download it. Can only be built on a Linux system, if your not using it, go get a REAL development platform =P (I use Ubuntu to compile SRB2Wii since its the easiest to cross-compile on).


SRB2Wii v1.1.1 has been released! Here are the changes:

- Fixed the error with "ln" when Linux boots.

- Cleanup to make the filesize smaller.

Its functionally identical to the old version. As before, if you have v1.0.1 or older on your SD card, please remove it before installing this version.


SRB2Wii v1.1.0 has been released! Here are the changes:

- Upgraded the Linux kernel to 2.6.30.

- Has a lot more RAM to use.

- Both Linux and SRB2 load MUCH, MUCH faster! This is due to the new kernel, the extra RAM, and other small tweaks.

- SDHC card support for folks on SDHC cards.

- The console now has overscan compensation for people on older TVs.

- When it reboots, it now takes you back to the Homebrew Channel rather than restart the whole console.

I've changed the file structure in this version. If you have v1.0.1 or older, you need to delete your current SRB2Wii installation off of your SD card and then extract this one, and your data files into /apps/srb2wii/data.


1.0.1 is out! Here are the changes:

- Installed ncurses and Perl for the new launcher to work when its eventually included.

- Several other behind the scenes fixes that might also fix segmentation faults some people have been reporting.


1.0.0

- Inital release.