Life and Wii64 in 2012

Wow, 2012, who would’ve thought we’d still be updating Wii64 nearly 5 years after its inception. I won’t be the first to admit that we have been putting off updating this blog – but sadly there hasn’t been all too much to talk about. When Wii64 started, as a team, we were all just university students messing about with our new understanding on how hardware works. Fast forward 5 years, we have mortgages to pay, relationships, etc… and real life doesn’t have a time slot in the day labelled “Wii64 development” on most days/weeks/months. Don’t get me wrong, there’s still the drive to get Wii64 to a nice and polished version, but it is taking its time now due to real life really hampering down on everything.

Now that the excuses/truth are out of the way, it’s time to actually divulge the progress (or lack thereof) we’ve made.

Dynamic recompiler re-write “rec2″

Tehpola has been working out the finer/final details surrounding the design and implementation of the new recompiler core which we’ve simply labelled “rec2″. In the interim, we’ve removed the non pure interpreter out of Wii64 as it was never working nor going to be useful for us. Rec2 is actually at the point of being coded now but not in a working state obviously as there is still the current recompiler to rip out. Once coding is complete, there’s bug fixes, potential minor re-writes if the design doesn’t cover a specific use case, etc.

Rice / glN64

There have been some minor improvements to glN64, but the big addition in the next release will be Rice, which is substantially faster than glN64 and supports more ucodes. Rice still has some combiner issues that need to be ironed out. Also, Rice doesn’t currently support framebuffer textures. We’d at least like to fix the combining issues before the next release.

Miscellaneous / Optimizations

I have been keeping Wii64 up to date behind the scenes with all the various libOGC changes/advancements. I’ve also been making minor optimizations such as saving 512KB of RAM by consolidating some memory structs, adding more previously interpreted instructions to the recompiler and other small adjustments. There are also other things we’ve picked up from other emulators that should help us gain further compatibility such as Blast Corps and DK64 intro fixes.

Before you all ask, why haven’t you released partial builds with the above features? It’s simply because, due to the recompiler changes, major parts of the emulator are unstable or totally broken when compared to the last publicly released version.

Not64

In case you haven’t seen it already, Not64 is a “Experimental Modification” of Wii64 v1.1 by Extrems over at GC-Forever. It attempts to gain performance by doing some GC/Wii specific hardware optimizations as well as integrating patches from various mupen64plus sources. It is also compiled with the latest libOGC/etc so you will have better device (USB amongst other things) support compared to the last public release of Wii64. I personally recommend it if you’re looking for something newer than Wii64 1.1 to hold you over until the next official release.