Two months later than expected but the first public release is finally ready!
There are two download packages. The first contains the "sample" loader, the second contains the source for that loader and the binary blob for Devolution engine. The purpose of the second package is so people can make their own loader or incorporate it into existing programs. The source code is documented pretty well so I don't think there should be any problems, but if a game isn't working make sure to test it with the sample loader before reporting it here - I don't want to deal with other people's bugs.
Link for the loader: http://www.tueidj.net/gc_devo.zip (current release is r93)
Link for the source: http://www.tueidj.net/gc_devo_src.zip
How to use it
Devolution requires clean 1:1 disc images (use cleanrip for best results). For the example loader to find them, they must have a .iso file extension and be placed in the /games directory. Use a gamecube controller in port 1 to choose whether to use USB or SD, then press up and down on the D-PAD to cycle through the available .ISO files. Press A to launch a game and after a little while the disc slot should start periodically doing 2 flashes. If it instead does four flashes and returns to HBC, it couldn't mount your storage device - you'll need a USB gecko to find out why. When the slot is doing 2 flashes it means it wants the original disc inserted. If you put the wrong disc in it will spit it out. Once the correct disc is inserted it will be verified, the slot will flash 5 times and hopefully a short time later the game will start. You only need to verify each disc once, after that you should be able to start the game without needing the disc at all. If it keeps looping over the read/verify disc->five flashes procedure then the .ISO file probably doesn't match the disc properly - re-rip it making sure it's a 1:1 image.
While the game is running
You may notice the disc slot being lit at random, it is used as an indicator for when Devolution is doing work in the background.
If a multi-disc game asks to switch discs, press the eject button. The next .ISO file will be loaded (provided it is either in the /games directory or the loader told the engine where to find it) and the game should continue. If the next .ISO can't be found it will be as if you ejected and re-inserted the same disc. If you press the eject button while the game isn't asking for a new disc, nothing will happen.
The sample loader always activates memory card emulation for slot A. The memory card file for emulation is /apps/gc_devo/memcard.bin. It's the same basic format as used by Dolphin, you can try to use Dolphin's memory card manager to insert/remove individual game files but I've found it to be rather unreliable. It is possible to use real memory cards with Devolution, the loader simply needs to be modified to disable the emulation options.
The power button should return to HBC while the reset button should work like originally intended (resets the game).
Some games will most likely have audio issues, for example static being played instead of the correct sound effects and/or music. These are normally easily fixed provided I can get hold of the game. If you're starting a game for the first time it might be a good idea to turn down the volume just in case.
There are some texture cache issues with the way paletted textures are handled due to differences between the GC/Wii hardware. I haven't bothered to figure out how to fix them since they don't really affect any of the games I play regularly, but I'm sure some people will bitch and moan about SSBM not being 100% perfect.
F-Zero GX always gets stuck after the first few title screens.
Super Mario Sunshine sometimes crashes when pressing start at the title screen. Not exactly sure why but it's a fairly poorly programmed game, there are about half a dozen places where it can be reliably crashed if you do the wrong thing even when playing from the original disc.
If you wish to report a bug make sure you have a log from a USB gecko. Saying "Game XXX doesn't work" does not help anyone. Do not include useless information like syschecks, installed cios versions, boot 2 version/system menu theme/shoe size. The only thing Devolution requires is a normal IOS58 and something to launch it with AHBPROT access.
Things that are already planned:
- Wiimote support
- BBA emulation
- USB microphone support instead of the GC microphone
- Logging over wifi
Things that may be added:
- GBA connectivity to a GBA emulator via TCP/IP
Future purpose of this thread
- Notification of updates/new releases
- Reporting of bugs (with logs!)
- Queries about the provided source code (within reason)
- Not discussion of the "anti-piracy" (leave the dead horse alone already)
- Not discussion of how to "crack" Devolution - feel free to discuss it elsewhere but keep this thread clean.
Since the "latest post" link doesn't work properly when threads have pages of deleted posts, let's try and keep things sensible and on-topic this time.
This loader is very different than the standard MIOS replacements. All other methods of playing GameCube games on a Wii load in "GameCube" mode. This attempts to restrict access to the Wii and basically means you are working with the memory limitations of a GameCube. This memory limitation prevents access to fun things like the bluetooth stack, etc. Devolution runs in full Wii Mode. No cIOS is required. No cMIOS is required. All Wii hardware is theoretically usable since the memory isn't being restricted.
However, this loader REQUIRES
you put the original retail disc in your console once to verify that you indeed own the game. I'm sure that will piss off most of you. Personally the only game that can't be run from DIOS MIOS that I'm interested in is Phantasy Star Online. And the legit disc for that has been in my Wii for a couple years now.