Software licensing has been a way to control not only the quality of products for game consoles, but also limit what developers could do. From the Nintendo Entertainment System onward, Nintendo has used a variety of lockout chips and DRM in order to make sure all of the products on their consoles had the Nintendo Seal of Approval. Their efforts kept quality much higher than in the previous era of gaming, but did not completely stomp out all unlicensed products and games. For the GameCube, Wii, and many other consoles, Datel has been the most prominent producer of unlicensed hardware and software. They have survived a rough market to make a claim to fame with popular products such as Action Replay!
These range from extremely interesting utilities to minigame collections. So, enjoy a quick look at some of this rarely emulated software!
The biggest hurdle of getting these games to run in Dolphin has nothing to do with the emulator whatsoever. To get to that point, the title has to be dumped so Dolphin can read it. The problem is that most Datel products have discs filled with mostly garbage that will error out on any conventional dumper you throw at them.
This was a huge disappointment to people who wanted to really test the emulator and see how it performed. Thankfully, reverse engineers stepped in to figure out how to get these products onto harddrives. Greyrogue found all the relevant data on the Advance Game Port + Construction Kit disc, and crediar coded several dumpers for the vanilla Advance Game Port, Action Replay, and Max Drive Pro. Thankfully the MaxPlay worked in other dumpers and didn't need to be individually worked on.
Next, these titles don't boot up in Dolphin without a few settings usually reserved for homebrew. They absolutely need the GameCube BIOS because the software abuses part of the BIOS in order to boot up and then use its exception handlers. LLE audio is also required or else they'll crash spectacularly. For those without a console to rip files from, there's no hope of running these titles. Even with all of that setup, there are still more hurdles to worry about.
- The MaxPlay and Action Replay will seemingly hang on boot if any memory cards are plugged in; but unplugging the memory cards alleviates the issue.
- All of the discs will hang on single core within a few seconds. Using dualcore gets around this, but they can still randomly hang. The only fix right now is a hack to delay the drawing of frames slightly.
- Some Action Replay discs have a region code of X. This causes Dolphin to be unable to load the game. In order to make those work, users must change the X to the region code of whatever BIOS is on hand.
- Some of the products require XFB to be off.
After meticulously figuring out every one of these pitfalls, Datel's products finally ran somewhat consistently, meaning they could be examined and played in Dolphin. Let's dig into the discs and see if they were worth the trouble.
Max Drive Pro¶
The Max Drive is a pretty cool device; it lets you connect a special Memory Card to your computer and backup/load save files.
But this isn't just about the Max Drive; this is about the Max Drive Pro which turns something cool into something extremely useful. The Max Drive Pro had the added ability to convert dols into GCI files that could be booted from Memory Cards using the Max Drive Pro disc. This opened up the possibilities for booting GameCube Linux and other homebrew without needing expensive alternatives.
One of the funnier issues is that the Datel Software will not run correctly on any version of Windows newer than XP. Dolphin will not run on any version of Windows older than Vista. To actually get a GCIDOL into Dolphin, you'd need Windows XP, Windows Vista or newer and a soft modded Wii to export the executable.
One last note is that Dolphin does not support the Max Drive Pro Memory Card, but, that's not really such a big deal. All the features of the Max Drive Pro are mostly pointless except for gcidol loading, which works on regular memory cards.
MaxPlay: Classic Games Collection¶
Ever play a game so bad that you wonder how it came into existence? This is that game. It's composed of ten "classic" titles that were either downloaded homebrew or in some cases commissioned/made by the developers. The real crime here is that Code Junkies felt that they could sell this as a commercial product.
The full title is actually MaxPlay: Classic Games Collection Volume 1? So I bet you're thinking, Wait, are they saying they planned on there being more volumes? As far as anyone can tell, that appeared to be the plan. This title itself likely only came into fruition because they already had a GBA emulator made and wanted to milk more money out of the work they put into that product. This thing is an abomination of a commercial title that has ten... games if you can call them that.
Interestingly enough, some of the homebrew on this disc can be found as freeware on the internet. In fact, if you're good enough with a hex editor you can extract all ten of the games on this disc and play them on pretty much any GBA emulator. Amazingly, this actually ends up being slightly better than the GameCube experience because the included GBA emulator is not very good at all. It doesn't make up for this travesty of product, but it's at least neat to see the games working properly.
Now this is a pretty bad commercial title by any definition, but when does bad go into absurd? Consider this: there is a worse version of this released on the PS2.
On the GameCube disc, there's nothing else to be found, just ten games and the emulator. The PS2 version is more easily readable and there is a lot more to find. In fact, there's a nifty little folder on the disc called "deleteme". What's in that folder? A fully intact ROM of Metroid Fusion. Oops.
So, not only did they include a commercial GBA title on the disc of the PS2 version, they also couldn't figure out how to get audio working properly either. Instead, they just play music over the entire game with no sound effects. Truly a masterpiece.
Advance Game Port¶
The Advance Game Port is a really cool concept: imagine being able to plug an attachment into your GameCube and play GBA games on your T.V. Does that sound familiar at all?
A lot of people may have missed this one, because Nintendo beat them to the market with the Game Boy Player. The Game Boy Player is a hardware device that plugs into the serial port at the bottom of the GameCube, and uses real Game Boy Advance hardware for accuracy and performance. Whereas the Advance Game Port plugs into the EXI device (memory card slots) and uses emulation.
The list of differences goes on and on, but the Advance Game Port really fails in two particular categories:
Framerate: The Advance Game Port runs at a measely 15 - 20 fps max. Dolphin can override the CPU clock to get a solid 20 fps, but the emulator is hard-coded with a frameskip which prevents it from getting any better. The AGP is a choppy mess in any game that requires precision.
Shoddy Emulation: Mario Golf: Advance Tour suffers from severe graphical glitches any time a sprite flips. Other games suffer from random lag, graphical glitches, or won't start up at all!
The AGP sticks out quite a bit more than the Game Boy Player. (Image credit: planetgameboy.de)
Despite the Advance Game Port being cheaper, the Game Boy Player's higher quality won out over the unlicensed competitor. As such, it seems pretty surprising that someone would step up to reverse engineer this forgotten device, but greyrogue wasn't deterred by its lack of popularity.
His original patch to support the Advance Game Port in Dolphin wasn't all that useful; games couldn't save! Due to that, a lot of titles would refuse to go in-game at all. Mix that with the aforementioned freezing bug affecting Datel titles, and the results aren't great.
That would usually be the end of our story, but, it's not. Fiora theorized a potential hack to work around the hangs for testing and Greyrogue returned to fix saving for some common savetypes, making a majority of the Game Boy Advance library compatible. At this point, the Advance Game Port is very close to being a cool showcase of Dolphin's versatility.
Note: Don't expect to see the hangs fixed outside of unofficial builds, as it requires a pretty nasty blind hack to Dolphin's GPU timing that basically increases the minimum time it takes to render a frame. That's the same reason that pretty much all of these discs will hang on single core mode. It's another case in which a game only works by lucky coincidences in dualcore mode.
Note 2: The video and article focuses on the original Advance Game Port release. It appears that the second release with the construction kit is a better version of the emulator that has less glitches, including games like Mario Golf: Toad Stool tour (featured in the video) working correctly.
There are a lot of versions of the Action Replay out on the market for the GameCube and Wii spanning a decade. Some have codes for particular games, others try to cover the full library of games, some even include bonus features, like customizable codes that can be saved or a region free loader. The one shown here is the 2006 GameCube Action Replay compatible with early Wii firmwares. Why? It's the one that was on hand.
This particular Action Replay tries to cover popular games across the whole library (with multiple regions) and has a region free loader. Dolphin isn't region locked, so that functionality doesn't really matter much to anyone. Where the Action Replay really shines is in its core functionality: being able to boot into any game with thousands of built-in codes. On GameCube, this was by far the easiest way for a conventional user to cheat in games. On Dolphin, it uses the very same Action Replay codes as Dolphin's built-in cheat support... so using this disc should be entirely pointless, right?
That doesn't turn out to be the case. When using Dolphin's built-in Action Replay code support, codes are very hit or miss. People usually blame this on broken codes or the wrong versions of games and generally don't look into it much beyond that. Trying the exact same codes on an Action Replay disc give much different results. In testing so far, the Action Replay disc has given 100% code compatibility, when testing it against console. Considering that most of the codes tested were the ones that didn't work in Dolphin's Action Replay HLE, it must be admitted that something is wrong with Dolphin's implementation.
While these games are an utter pain to run in Dolphin for a variety of reasons, they turned out to be fairly interesting in the end.
How often are GBA ROMs extracted out of a retail GameCube disc and run on a GBA emulator, or even put onto a flashcart and run on a real GBA! Being able to see an actual Action Replay disc running in Dolphin is pretty neat too, and the fact it outperforms the emulator's HLE can say something about flaws in Dolphin's implementation. The Advance Game Port gives Dolphin another convoluted way to boot GBA titles. And the Max Drive Pro, well, it has no real usefulness on emulator despite being one of the few ways to run homebrew on an actual GameCube.
For those still interested in actually trying a Datel disc, there are versions of CleanRip out there that support some of their titles. But by far the best thing that can be done is to study the discs via the broken dumps that current dumpers give, and then attempting to find out where the bad data is based on that. If the titles were more popular, it's almost certain that there would be an easier way for conventional users to dump them.
That's kind of the story with these types of features. Because the devices are rare and have less user interest, it's very difficult to find the right storm of people to both implement and test these kinds of things. Add in a higher degree of difficulty, less availability, tons of custom hardware and that explains everything about why emulating these is so difficult, and why it's so rewarding to see them even functioning at all.