Friday, September 28, 2012

Open webOS Cameo

Today, Open webOS 1.0 made its way into the world!

This is a big deal to me; it represents a certain kind of immortality for a platform and project that I've got very attached to.  Enough pieces are in play to keep webOS alive now in ways never anticipated, despite the heartbreaking series of corporate blunders that nearly destroyed the project.  I feel a lot like I did when Blender was rescued and turned open-source.

Anyway, I have a small cameo in the Open webOS announcement video.  Not me per se, but my "penduin" symbol, specifically its use in my Picross icon.  At about 1:09 in the video, you can spot it near the upper-left of the app launcher.
To the Palm and HP teams and the entire enthusiast webOS community:  Thank you.  You've made me very happy today.  :^)

Tuesday, September 18, 2012

Tong on Wii

Well here's another fine mess I've gotten myself into: Tong can now be played on Wii!

It's fitting. Back in ... 1997? Some friends and I came up with the idea, and imagined it as a multiplayer game on Nintendo64, the party machine of choice at the time. That didn't happen, of course, but years later I did finish a single-player PC version. Years after that, I ported it to the GP2X/Wiz handhelds. Now, it's come all the way to a home console, and a Nintendo one at that.

...Plus, the line-breaking sound effect is me saying "Wheeee!"

Now before you go off to the Wii Shop Channel looking for Tong, let me save you some time. Nintendo doesn't endorse this kind of open/free homebrew, but unlike some manufacturers, they don't fight it either. Read up on the Homebrew Channel, then visit this site and use its handy packager to get homebrew running on your Wii (they've made it very easy, you won't break anything!) Once you have the Homebrew Channel, you can grab Tong for Wii here; just unzip it to your SD card.

My favorite bit of feedback about Tong has always been that it's a "bad idea well implemented". Nowhere is that clearer than on Wii, with tilt-controlled paddles. I've gotten pretty good at it, but it's probably the hardest and most insane version yet. Why I would be happy about that is a bit of a mystery.

For anyone interested in the technical details, "devkitPro" and "devkitPPC" are what you're after. Cross-compiling to Wii is mostly painless, and I only ran into a few snags. First, libfat needs to be initialized before doing any file access. That isn't the first thing that occurs to those of us who normally build stuff for OSes instead of raw hardware. Second, the guys who ported SDL to Wii did a pretty good job, but when it came to SDL_mixer, I think they got it working for their own stuff and then moved on. The easiest workaround is to resample your sound data to 32000Hz, which struck me as very odd considering how common 41000 and 20500 are. Also, simultaneously playing a Mix_Music and a Mix_Chunk causes some fascinating interference if they're both using tremor (ogg vorbis decoder). In my case that meant saving the short Mix_Chunk sound effects as raw .wav data instead. Finally, as much as I love to use my own simple-as-possible Makefiles, I had a much easier time working from devkitPro's examples. They're very flexible and general-purpose, I'll give 'em that. Everything's checked in; have at the CVS repository if you're curious.

To non-geeks who waded through all that, I should reward you with something clever and witty. ...Too bad. Play Tong for a few minutes; your brain will forget all about such small-scale confusion. :^)