Background

I finally got around to setting up NetBeans 5.0 and the Mobility Pack so I could try my hand at some Java development for my phone.  I found a few versions of my old Windows 3.1 game Hyperoids floating around on the net here and here, so of course I had to port it back to J2ME.  The gzipped .tar file on sourceforge contains the full source along with a prebuilt .jar file in the dist/ subdirectory, I use the phone's USB cable to install (it shows up as /mnt/PHONE on my Mandriva distro).

It took a lot of game tweaking to get it running reasonably and to figure out sound, which at least on my phone is very broken.  I had to resort to faking things with Manager.playTone since the .wav players have far too much latency to be useful and aren't able to mix down multiple concurrent .wavs.  I tried synthesizing my own effects on the fly, but unfortunately the Player on my phone always prefetches the whole .wav file before starting playback.  The sad thing is I'm pretty sure Java actually has the horsepower to mix down mutiple channels of 8KHz 8-bit audio if only there was a way to feed the data into the hardware's playback buffer.  Ah well, at least I figured out a lot of details about storing user preferences, logging data to a real file and so forth.

The only phone I've tested this application on is my Sony-Ericsson w900i, hopefully you'll provide feedback (and fixes!) if there are problems on your phone.