Wednesday, July 14, 2010

Beta 1 released!!

I've just uploaded the first binary beta to the new project page.
I'm in a bit of a hurry, so I'll write about it later, but it basically has all the official modules in BennuGD, and the wpad library (used to handle Wiimote input, it was inside the previous builds) has been extended to support Nunchuk input and gravity detection for both your Wiimote and your Nunchuk (i.e: how your controllers are oriented in the real world). Readings are only valid on some axis, but that's a limitation of the controllers' hardware, not a bug.

More wpad support should follow, as to be able to handle more controllers, like: Classic, Wii MotionPlus, Guitar Hero....

There are a few bugs here and there, but nothing is critical and the port is working pretty well :)

Monday, July 12, 2010

Rearchitecturing the port for the future

The day for the big news has arrived!

Today I've finally completed integrating all the modules inside the new architecture. This new architecture has a lot of advantages over the previous one, to name a few:

  • The code is much easier to mantain now (it involves many less modifications to the original BennuGD source).
  • The interpreter (bgdi) can now be compiled without the modules you don't need, so it can be a lot smaller.
  • Up to where the endianess issues in BennuGD allow us, the DCBs generated with this new version are completely compatible with the official standard version.
  • This new version includes all the modules from the official Bennu version (minus mod_crypt).
  • Modules only get loaded when you import them (they were always loaded, which meant more unused RAM in a system without resources to waste).
  • Me messing around less with the code means a much more stable version.
  • This new architecture is much more friendly to others creating monolithic ports for other platforms.
And here is where I wanted to arrive; in some quick tests, this new version is extremely more stable: it fixes random crashes and misbehaviours of the previous versions whose origin I couldn't trace. Please understand that this new version has been completely rewritten in under a week -so there are still some bugs- but when bugs get fixed, this new version should be as solid as upstream BennuGD.

I'll comment on some particular examples; take a look at the screenshot below:

EEEEK! EEEEEK! HOOOOOOK!!! by Gabriel Garrote

In the latest build with the old architecture, the left eye appeared in the upper-left corner of the screen, for no particular reason. This works now just fine, as you can see from the screenshot above.

I'll probably "test" Pixbros later (and for "test", I mean play). Pixbros used to crash after a certain amount of playing time. I'm pretty confident it'll work just great now.

As for another example, Puzsion used to crash horribly when loading, so it was completely unplayable. As you can see from the screenshot below, it's now working perfectly.

Worked great until my Wiimote ran out of battery :'(

Also, speaking of better mantainability: I've been working with Daniel Franzini and we're now hosting a common code repository for both the Wii port and the PSP port (the new architecture is awesome :).
You can find the new code here, and this new repository superseeds the older one.

There are no released binaries yet because mod_wpad has not yet been integrated, but I'll probably dump the old code and start using Grisendo's mod_wpad, which is much more complete.

Anyway, don't take my word, as soon as I upload the new binaries, download & start using them, you'll see how much better they work compared to the previous version.

Hope you find the news interesting :)

Have fun!

Saturday, July 10, 2010


A very big update on the code front should arrive very soon (around next week) so stay tuned... :)