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.

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.

WiiSX/CubeSX Progress & Beta 1

As you may recall, WiiSX was put aside for us to all focus on Wii64. However, I picked it up again over the past weekend and made a few improvements along with a bit of help from tehpola. I ported over the pcsx-df code which is an updated and less-buggy pcsx codebase which instantly gave us great compatibility results in the Interpreter.

However, I then got the PowerPC recompiler (Originally from here coded by Gil Pedersen) working. It didn’t take much to get it into a operational state, just making it not mess with the GPR r13 to comply with EABI standard got it working, as well as some other small tweaks here and there. I also added some more functionality to it (recompiled all loads) and gave it 8MB of memory to keep recompiled code in (this is 7MB only for GC), but will gradually get bigger as I move things to MEM2/ARAM. There’s quite a bit to be improved within the dynarec, and quite a bit to be coded still, but I’m quite happy with its performance all things considered.

The GUI is non-existant apart from two options and a text based file browser. You can choose between the Dynarec or Interpreter and a Standard Controller or a Analog Controller. The analog controller is broken in some games, and so is the Dynarec (Final Fantasy VII battles).

Of course there is quite a bit to do, such as XA audio, CDDA audio, a GUI, Save states, .iso support, and much more, but this project will go on the sidelines again until the Wii64 beta is released. We hope to see positive some contributions to the code in the meanwhile whilst we work on Wii64 and not just controller config hacks :)

The full source (now updated with my latest changes) is available at http://code.google.com/p/pcsxgc/.

You may download CubeSX and WiiSX beta files from the pcsxgc GoogleCode site.

Instructions are provided in the readme.txt file in each respective archive.

April 1st Tiizer is Real & General Update

First off, the April 1st Tiizer video is actual gameplay using a recent dev build of Wii64. As you can tell, tehpola has made tremendous progress in debugging and optimizing the dynamic recompiling core. However, there are still a handful of showstopping bugs that we need to work through before we can make a public release. Also, you should be aware that not all of your favorite games will run on the initial release because of a variety of reasons. We are not planning on initially supporting the Expansion Pak because of memory limitations. After further optimizations, tweaks, and profiling to reduce our memory consumption, then we hope to add Expansion Pak support. We may not initially support games that execute code directly from the cart or that use virtual memory (i.e. Goldeneye) because this requires more investigation and significant code changes in the dynarec to implement. Also, some graphics microcodes aren’t supported in glN64, so a few games such as Conkers BFD won’t work just yet. But, sit tight and we’ll continue to work on more features for Wii64 after the initial release.

A complete re-code of the Wii64 gui is underway, so you’ll be able to enjoy using the wii-mote for navigation and also some sleek new graphics. We’ll have a new look for the initial release, but we also plan on adding more features to the gui over time for your enjoyment.

If you have watched any of the recent gameplay videos, then you know that the accuracy of the glN64 port has increased substantially since the Wii64 Tiizer release we made for the Homebrew Channel. Because GX is not 1:1 with openGL, there was a lot of investigation and tweaking required for me to get the behavior on GC/Wii close to what glN64 looks like on PC. There are still a variety of bugs for different games, so don’t expect everything to look perfect, yet. Emu_kidid is a great tester, and he is maintaining an internal graphical issue list to work on. I hope to add a couple more features to glN64 prior to release, including glN64′s primitive framebuffer texture support as well as 2xSaI scaling for textures. The plan is, of course, to continue hunting down bugs and adding features after the upcoming release.

As for the other graphics plugins, glN64_GX is much faster than both soft_gfx and GX_gfx, so we may only release a build with glN64_GX. The only drawback is that currently glN64_GX won’t render graphics for demos that only directly manipulate the framebuffer with the CPU. However, when I have time I’ll add a feature into glN64_GX that will allow it to render the N64′s framebuffer rather than rendering primitives passed through the N64′s graphics pipeline. Then, you can just flip an option in the menu when you are running homebrew N64 games and demos that write directly to the framebuffer. Also, I have already done some work on porting Rice’s video plugin to Wii64. Rice supports more microcodes than glN64, including the one that Conkers BFD uses, and it should be faster than glN64. We have a vision of supporting custom texture packs in Wii64, so we will implement that feature as well. We hope that you, our users, will contribute your creative talents in developing texture packs to share with the Wii64 community. We can’t say when custom texture pack support will be finished, but expect it sometime in the future.

Some of you have been asking for an update on WiiSX. We are planning on working on a release of WiiSX after the upcoming Wii64 release. The reason we have not done a release yet is because there were some serious bugs in SVN last fall, and we also wanted to focus on completing Wii64. We have since resolved some WiiSX issues, internally, and so once Wii64 is out the door, we feel that we can also follow up with a WiiSX release relatively soon afterwards.

Finally, we’d continue to ask that if you enjoy using Wii64 when it’s out that you consider donating to the project. Right now, most of the donations we receive go toward hosting costs. However, there are also some small accessories like component cables and classic controllers that we are considering purchasing with donation funds to aid in development.