Enabling the Hidden Wii DVD Icon, Part 3

2023-06-19

NinjaCheetah

<- Back


I’m finally here again.

And this time, I have good news to share.

Those of you who have ever read the blog before have probably already seen the articles where I tried desperately to reveal the image of a DVD hidden from all of us in the Wii Menu’s Disc Channel. You may also remember how both articles and the many attempts behind them were complete failures.

So what was different for round three?

That’s the painful part actually. Almost nothing. In fact, the only thing in my way was locating one little program and 6 bad bytes of data. Just 6.

To start off my journey, I followed the same steps as I did two years ago. Grad a system menu 4.3U WAD, unpack it, unpack 00000001.app from that, un-ASH diskBann.ash from /00000001/layout/common/ using the mysterious ASH.exe, un-ARC the resulting diskBann.ash.arc, locate my target brlyt file and make the changes with a better, newer version of Benzin, and then it was time to face the challenge I had before. As things tend to go, it’s a whole lot easier to take it apart than it is to put it back together.

One of the things I did differently this time was actually try and narrow down where the problem was. I did this by trying to re-pack everything in reverse order, so start by just repacking 00000001.app with no changes. When that worked, I extracted the ASH file, made no changes, re-ASHed it, repacked 00000001.app, and tried that. I kept going like that one step at a time until I discovered the point of failure. Surprisingly, that point of failure was actually my re-packed ARC file, diskBann.ash.arc. Even with no changes made to its contents, it was causing crashing.

Wait.

You may have caught a key detail in that paragraph: I was able to actually recreate the diskBann.ash file. While I still would have had the issue I had this time eventually, attempts 1 and 2 had me stuck on the step of turning my diskBann.ash.arc into diskBann.ash.arc.ash (this should really just be a .ash but all of these programs just append the new extension to the end). The key ingredient here was this program that I managed to find on GBATemp, simply named ashcompress.exe. The source code is apparently lost to time but, get this, it actually worked.

With that big issue out of the way, I was able to very quickly discover another issue. Repacking diskBann.ash.arc from it’s extracted state always resulted in a crash. I had yet again called on the mighty Garhoogin for help and we had spent this entire adventure in a VC together trying to figure what the heck was wrong. At one point, he mentioned possibly trying to compare the original ARC and my unmodified but re-packed version in a hex editor, to find any little thing that could be different. So I did.

A screenshot of HxD revealing a 6 byte difference between the files.

That was it. 6 bytes. (And a row of CCs but according to WiiBrew that’s just padding and shouldn’t matter.)

And with that, I all but shed a tear as I installed my WAD into Dolphin and watched the DVD I had longed to see for 2 and a half years spin into view.

A screenshot of the Disc Channel in Dolphin with the DVD icon shown.

There was just one problem.

The shadow and reflection were missing.

It turns out in my haste to try out this working version I had forgotten to check for other hidden elements in the Disc Channels layout file (despite The Cutting Room Floor saying this. Nintendo also misspelled DVDShade as DVDSahde every single time, for some reason. I have no idea if it was necessary in the slightest but while I was setting the things I missed to be visible I took the liberty of fixing their typo nearly 2 decades after it was made. You’re welcome, Nintendo.

The result was magnificent.

A screenshot of the Disc Channel in Dolphin with the DVD icon shown, now with the missing shadow and reflection.

It was finally there, reflection and all. And I could rest easy, knowing I had finally completed my goal. In fact, I even took a nice screen recording so you can enjoy watching it spin when the banner first plays.

You may be wondering now, what exactly did I gain from this. Frankly, the answer is nothing. This was just dumb fun and was a good way to waste my evening/night. And hey, maybe I can automate this in the future to make matching the Disc Channel nice and easy! Or maybe I can find other patches that are easy to do to enable other random unused graphics. The possibilities are truly endless.

Thanks for coming along for the ride. I hope you’ve enjoyed the delayed but finally finished conclusion to this series. When I ended the last one with “hopefully there will be an update soon, as I intend to follow the plan above in the next few days so that I can make an update to this faster than last time.”, I did not expect it to be well over two years later. Ah well.

That’s all for now, but I hope to have some more content soon.