HackMii

Notes from inside your Wii

HackMii header image 1

The USB2 Release

August 14th, 2010 by dhewg · 65 Comments

Some of you may be familiar with a major problem in Wii homebrew land. Most applications and games found on wiibrew.org use libogc, which in turn relies on IOS. While most IOS versions have a USB module, it is limited to USB1, and its I/O throughput make some applications next to unusable when using USB mass storage devices, others have annoyingly long loading times.

The Wii game “Your Shape” changed this – it introduced a new IOS version: 58, and this is the first with an official USB2 module. Starting with the System Menu 4.3 update, IOS58 is available to every Wii.

Thanks to some serious work by tueidj, all homebrew applications can now utilize this USB2 module through libogc. The Homebrew Channel v1.0.8 is the first version supporting it.

IOS58 will be automatically installed when you update your Wii to System Menu 4.3. If you do not want to update, you can use Tantric’s clean IOS58 Installer.

The release notes:

HackMii Installer (v0.8):

  • IOS58 is chosen for The Homebrew Channel when installed. This is required for USB2 support. Other IOS versions are of course still supported, but USB will be limited to version 1.

BootMii beta 6 (v1.3):

  • Fixed the freeze when using the autoboot feature to load System Menu with a delay of zero.
  • The NAND backup no longer crashes when stumbling on uncorrectable pages.
  • A couple of fixes to the integrated SD browser.
  • The autoboot feature is ignored when launching the IOS version of BootMii.

The Homebrew Channel (v1.0.8):

  • General USB improvements for all IOS versions, this fixes the regression introduced in version 1.0.7.
  • USB2 support through IOS58.

A note about unofficial IOS versions: There have been IOS hacks for USB2 support for a long time now. Those rip the USB1 module out of an IOS, and replace it with a USB2 module. You may not care about the uglyness of this approach, the code quality of the replacing modules, or the risks associated with replacing a vanilla IOS. But some coders (us included) do, and outright refuse to use it. On top of that, those nasty hacks are mostly used for warez loaders. IOS58 relieves us of that burden.

The AHBPROT feature, which we described one year ago, allows you to bypass IOS to access devices directly from the PPC, eliminating the need for any IOS patches. Starting now, we will remove all cIOS poisoned applications from the wiibrew.org wiki.

Either grab the new installer here, or use the HBC online update (a confirmation dialog should pop up when launching an older version of HBC).

As always: Please link to this post instead of mirroring the binary, thanks.

Enjoy.

→ 65 CommentsTags:

Theming the Homebrew Channel

August 11th, 2010 by drmr · 28 Comments

When we released the Homebrew Channel 1.0.7, we supplied a new look and the announcement of a surprise. I must apologize for the delay in the revelation of this surprise, which is mostly owed to a complete meltdown of my work machine. Without much further ado, it is my pleasure to give you: Homebrew Channel themes, and a first theme: HBC Classic.

While the reactions to HBC 1.0.7’s new default theme – dubbed “Dark Waters” – were generally positive, some complained about it being too dark, unfitting, or simply “exceedingly ugly.” We’re usually not the makers of elaborate plots (that you know of), but this was actually fully intentional to draw a bit of attention not only to the function but also to the looks of the Homebrew Channel.

Applying themes to the Homebrew Channel

There are two options for you to apply a theme to the Homebrew Channel.

The first way is to treat a theme file just like you would treat an application: A subfolder in the apps folder on the SD card or USB stick, only with the file theme.zip containing the theme files instead of boot.elf containing an application. The theme file will then show up in the application browser, loading it will apply it to the Homebrew Channel. This allows you to conveniently switch between themes as you can store them along each other on the media of your choice.

The second way is to simply wiiload the theme.zip to the Homebrew Channel, after which it will be immediately applied.

Once you apply a theme, it is permanently stored with the Homebrew Channel’s “savegame”.

How to revert the Homebrew Channel to the default theme

Currently, this only works by deleting the Homebrew Channel’s “savegame” via the System Menu’s data management. This, of course, also deletes the other preferences, so you will have to visit the Homebrew Channel’s options screen again. We may come up with a better way to remove a theme, but this is how it works for now.

Creating your own themes

Theming the Homebrew Channel is currently limited to skinning the user interface, i.e., replacing its graphics with same-sized ones. You can skin pretty much any graphical element of the Homebrew Channel, with the exception of the Wii remote pointer and the Homebrew Channel logo in the bottom right. (Yes, you can even insert your own bubble graphics. I propose: mice.)

Please take careful note that the graphics need to be the exact size of the ones they are replacing, there is no stretching/cropping mechanism in place. If the image dimensions mismatch, the image will be ignored and the default image will be used in its place. The same happens if you don’t include a file in the first place. This allows you to selectively skin the HBC. For example, if you only wanted to change the background image, your theme would only include the two background files.

Accompanying the image files is a small XML file named theme.xml. For now, it only includes a few color values and the name of the theme. The color values are in RGBA for the font (which is currently limited to one color GUI-wide) and the gradient to be used in the progress bar.

I believe I can leave you with the new HBC Classic theme as a template for both the sizes and the file naming. I trust you will be able to figure out the purpose of the various image files by their file name. You will notice that the Homebrew Channel’s GUI isn’t terribly complicated and re-uses many of its images in various places.

For theme publishing, I suggest you package theme files like an application. You can even include a screenshot or a cutout as icon.png and your name with the meta.xml file (note that you will still have to supply a theme.xml inside the theme.zip file).

Theme repository – or lack thereof

As with applications, we do not intend to create a repository for themes ourselves. Since Wiibrew.org has proven to be a great repository for applications, we think it is a great place to store the accompanying themes. As usual, with Wiibrew, please don’t upload copyrighted content. For themes, this means: No copyrighted imagery, neither of photographic nor illustrative nature. Also, I would think that it is rather pointless to upload background-only themes.

So, there you have it. We are very much looking forward to see how you feel the Homebrew Channel should look like.

The new Homebrew Channel themes page on Wiibrew, along with the HBC Classic theme, is here.

→ 28 CommentsTags:

HackMii Installer v0.7

July 26th, 2010 by dhewg · 130 Comments

Update: I’ve just uploaded v0.7b of the installer. The only change is a small bugfix in the installer itself, and only very few people ran into this. If you could successfully install either The Homebrew Channel or BootMii, there is no need to reinstall again, both are unchanged compared to v0.7. If you had problems before, please try again with this version. The download links and the integrated update feature in HBC itself have been updated for this bugfix.

After more than four weeks we believe we’ve finally reached the point for the next public release of the HackMii Installer: v0.7.

A lot of changes and improvements went into this release. After quite some headaches and a few puzzles (thanks Erant!) we stockpiled over 250 commits since v0.6, increasing the compatibility with even more Wiis.

The installer now works completely differently, The Homebrew Channel got a few new features and a new look, and BootMii received a fair amount of minor improvements too.

Next to the usual minor fixes, these are the changes worth mentioning:

HackMii Installer (v0.7)

  • New exploit to enable (un-) installation of all components on fully updated Wiis (up to, and including System Menu v4.3).
  • Proper support for all regions, including KOR.
  • General overhaul: the installer now requires BootMii/IOS to function. It will automatically be installed upon startup – either if BootMii/IOS is not installed or if it is older than the version this release comes with.
  • DVDX died a horrible death. Rumor has it that someone dropped a snapple bottle on its head.
  • Additional installer binary bootmini.elf, see the included README.txt for more infos.

BootMii beta 5 (v1.2):

  • Compatible with more SD cards.
  • New font, borrowed from the deceased Twilight Hack.
  • The button combination when restoring a NAND backup with only BootMii/IOS was impossible to perform with some pads. It has been changed to the Konami Code.

The Homebrew Channel (v1.0.7):

  • New title id to circumvent its deletion by System Menu v4.3.
  • New look from our favorite pixel artist drmr.
  • Both views now show five rows of application entries.
  • On-NAND settings.
    The selected device, sort order, view and application are saved. Settings are restored when reentering HBC.
    The settings can be deleted via the System Menu’s Data Management.
  • HBC now has the HW_AHBPROT flags set for direct hardware access, thus replacing DVDX.
  • Ability to not reload IOS when launching an application.
    This effectively means that loaded applications inherit the title id, gaining direct hardware access via HW_AHBPROT.
    To use this feature, add  <no_ios_reload/> to the <app> node in your meta.xml file.
    wiiloaded binaries automatically gain direct hardware access.
    libogc SVN (starting with r4166) has been extended for this feature. DI_Init() will detect if an application has been launched this way, and DVD access should just work without any changes to your code.
  • USB access is more stable, thanks to tueidj
  • Fixed the retry mechanism for the network initialization.
  • Fixed some rare hangs upon launch and exit (Hopefully all of them).
  • A little surprise, to be announced soon. Refrain from bugging us about it, you’ll know soon enough 😉

If you have installed HBC v1.0.7, it is safe to update your Wii to System Menu v4.3.

Please note that HBC’s update check now contains data in the referrer string unique to each Wii. Its sole purpose is for anonymous usage statistics.

Before asking questions, please read the included README files. You will also find information about how to report problems and encountered bugs.

Thanks to all the beta testers, it’s been a long ride.

Either grab the new installer here, or use the HBC online update (a confirmation dialog should pop up when launching an older version of HBC).

As always: Please link to this post instead of mirroring the binary, thanks.

Enjoy.

→ 130 CommentsTags: