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.

Long overdue progress update and… a 1up on bigN!

We must start by saying that yes, it sure has been a while since our last update. Followers can rest assured though that we have been actively developing all of our projects in one way or another. As mentioned before, all three of us have very little time to work on this stuff due to real life commitments, but combined we seem to be getting things done at what we think is a decent pace.

WiiSX has seen some tinkering to try and get compatibility up, but has run into other issues. We have been keeping in sync with pcsx-reloaded whilst trying to maintain the PPC dynarec for it. Eventually we need to add more recompiled functions to the dynarec in WiiSX, particularly GTE. We initially wanted to do a full PPC dynarec re-write, but that doesn’t seem feasible time-wise at the moment. Future plans for WiiSX also include porting a hardware renderer now that Pete’s OpenGL plugin is open-sourced.

The Wii64 port to PS3 now has a near-complete hardware renderer since our last post. However, the dynarec needs some work to run on a 64bit PPC architecture. The Pure Interpreter core has little (if any) performance increase over the Wii running the same core, so PS364 really needs the dynarec.

Wii64 for the GC/Wii has seen the most in terms of progress. There has been USB2 support added as well as a port of Rice (graphics plugin) amongst other smaller bug-fixes and optimizations since the last release. One notable feature that we’re really excited about is…

That’s right, high-resolution, custom texture paks are now supported on the Wii using Wii64! :) Of course, this is still Work-In-Progress, but we’re nearing completion.. Expect a release after this feature is complete. We feel like this is where homebrew emulation on the Wii can really shine and provide an enhancement that Nintendo is not able to offer with their official software.

PS364 in the works..

We’ve been playing with PSL1GHT, the legal, open SDK for PS3, over the past couple days, and we have a basic port of Wii64 to PS3 already. Expect more to come…

PS. There is some recent news about a team claiming to be working on an N64 emulator for PS3. Just so you know, that story is not about us or about PS364.

February 2011 Update

Well, it’s been a while since our last blog post and real life has been hectic for all of the Wii64 Team, but that doesn’t mean that we’ve been idle. There are some exciting developments behind the scenes that you can all look forward to. Something that we’ve really been looking forward to is porting a second video plugin to GC/Wii. Rice’s video plugin offers better speed, support for some ucodes that are missing in glN64, and support for community-made texture packs. We’ve been hard at work porting this plugin to Wii64, and we’ve got a couple preliminary screenies for you to enjoy below.


Tehpola has also started a rewrite of the dynarec with the goal of making it simpler, so that we will be able to more easily squash bugs and improve compatibility. In the process of making improvements to the dynarec for Beta 1.1 “Honey”, it become increasingly apparent that the dynarec was becoming too complex to debug and difficult to optimize. By starting from scratch, we are also ripping out other unnecessary parts of the mupen64 core to optimize for memory and, later, speed. This is a more long-term project, though, so you probably won’t see the new dynarec until sometime after our next release.

If any of you have been watching the commit log to pcsx-reloaded, then you have got to be as excited as we are for the bright future of open-source PSX emulation. If you haven’t been keeping track, then you can still be excited about the next WiiSX beta, which will incorporate many of the accuracy and speed improvements from upstream in pcsx-r’s repo.

Finally, there is our secret project which we mentioned last summer. It’s still in the works, but you won’t see it until after the next Wii64/WiiSX betas…

Still alive and kicking

We’re just writing to let the fans know that we’re still alive and kicking, but unfortunately, finding very little free time on our hands these days for emulation development. We’ve still got big plans for all of our GC/Wii related projects, and development has been still progressing. We’re also planning on releasing builds with IOS58 support, but we’ve been waiting for the libogc USB2 wrinkles to be ironed out.

Be sure to stick around; we appreciate all your support and feedback in both the fast and slow development times.

Classic Controller (and PRO) calibration test data wanted

In an effort to fix the classic controller pro analog stick ranges in WiiSX and Wii64, we’d like users to run this DOL and report back their findings via the comments button on this post. All values should be posted back here that are on screen, both calibrated and from moving the sticks, oh and don’t forget to mention the type of controller the data is for!

Thanks to everyone in advance :)

WiiSX Beta 2.1 Release

Without further adieu, we would like to present a quick bug-fix release for WiiSX and CubeSX – Beta 2.1 :)

Get it now!

This release mainly addresses the issues to do with games resetting to their title screens and having unresponsive controls as well as a few other minor bugs. Save states made in the previous version will no longer work in this version as a result of some changes made to save audio state.

For more detailed changes on what’s new in WiiSX Beta 2.1:
* Fixed issues where saving was not actually saving
* Many input plugin improvements
* Added “Home” button as a menu combo for CC
* Fixed inverted Y-axis for nunchuk and classic controllers
* Fixed rumble and added “disable rumble” setting
* SMB correction to allow anonymous user and password
* Threaded network init and proper error messages when it fails
* Audio state saved/loaded for save states

We’d like to thank the quick and responsive users which have reported the issues we’ve addressed above.

Enjoy WiiSX Beta 2.1, and if you feel like donating to support our projects, please feel free to visit our Donations page :)

June 2010 Progress Update

It’s been a while since we’ve said much about what’s going on behind the scenes in terms of general progress and development, so here we are, filling you all in on what we’ve been working on.

In terms of WiiSX progress, we’re nearing the beta 2 milestone we have had in mind for a few months now. The majority of features and bug fixes we have had planned are nearing completion. To be specific, WiiSX beta 2 will encompass a feature rich graphical user interface much like that seen in Wii64 and in the preview video posted below. Some other important features to note include newly ported CDR, Sound and input plugins, boasting features such as dual shock, configurable controllers, clear crisp audio and a good range of CD image support, including subchannel data. Most of the features have been implemented, but we are currently ironing out some show stopping bugs such as seen in certain Capcom fighter games.

On the Wii64 front, we managed to finish migrating the private SVN commits to the public googlecode repository up to Beta 1.1 Honey, so now you can see all of the individual commits and work that went into the last version. Since the last release, we’ve made some progress with bugfixes in the code, but we have larger plans ahead of us for the next beta in order to increase speed and compatibility. Once WiiSX beta 2 is out, we are looking forward to giving Wii64 some more of the TLC it deserves. :)

Here’s one last juicy tidbit for you all… There’s yet another emulator that the Wii64Team has been longing to see on the GC/Wii, so we’ve started working on a port in our spare time, and we’re hoping that it will arrive in all of your Homebrew Channels later this year. Kudos to anyone who can guess the platform (although we’re not promising to confirm if you’re right…) ;)

WiiSX Beta 2 Preview

We’re nearing the WiiSX beta 2 release, so we decided that it’s time to show a preview video of the current state of the emulator and tell you about our progress.  Last summer, we released a beta of WiiSX so that we could put it on the back burner for a while and focus on Wii64.  We weren’t too happy with WiiSX beta 1 because it lacked a proper gui and suffered from stuttering audio and other bugs.  So, we’ve focused the past few weeks on adding a gui to WiiSX and improving the sound, pad plugin, and other various parts of the emulator.  While there will still be plenty of work left for the future, we feel that this release will greatly improve the emulator’s playability and polish.  Look forward to the release, but for now please enjoy the preview.