The Didj version of Worm Warrior is playable. Download it here. Installation instructions are included in the file. This will work correctly on a normal Didj.
Sound isn’t implemented yet, but everything else works fine. I need to see if it would be possible to get Hekkus Sound System running on the Didj,
This is using the SDL_RenderCopy, from a texture, for the display, and Linux input events for input. By specifying the rects to SDL_RenderCopy and SDL_LockTexture I was able to speed things up to a playable level.
A big thanks goes out to Ramblings and Broken Code for the Didj OpenGL demos.
It’s been a challenge to get Worm Warrior running on a normal Didj. The Didj is an excellent platform for retro style games. It offers a 320 x 240 16 bit color screen with NES/GBA style inputs. And, a Didj can often be found cheaply at thrift stores or on EBay. I payed $4 for mine, without a power supply or USB cable, at a local Goodwill thrift store.
Just found your link on the elinux wiki, loaded the game up on my Didj, worked awesome. Very good job. Was it hard to get it to work with the menu system? I’d like to add how to do that to the wiki page. If you’re ever on IRC freenode, stop by #Didj Thanks for posting this. – Jason
The biggest challenge was figuring out how to display error messages (printf debugging), since I don’t have a serial connection. I eventually created a log and appended the messages to it. Once I did that, it was easy enough to modify losinggeneration’s code (http://losinggeneration.homelinux.org/2010/04/29/didj-opengl-es/) to test out the Didj supported features. I would eventually like to figure out how to get sound working; but the only option appears to be writing an interface to Leapfrog’s audio library (which is a c++ class).
Interfacing with the menu system is just a matter of including the correct files (again, based on losinggeneration’s example) and a compatible executable.
That is too bad about the sound, I don’t know much about that side of it myself, so of little help there. But thanks for posting your work.