WonderSwan Color development - Swan Driving
The WonderSwan is a nifty little handheld, whose popularity in its native Japan far surpassed its adoption everywhere else. WonderSwan games are targetted at the Japanese market, with scant fragments of English language here and there. This is one of the chief reasons for its obscurity this side of the world.

Swan Driving is a WonderSwan homebrew where you control a car, trying to avoid incoming traffic. Your car has a low and a high gear, for driving slowly and fast, respectively. Use UP/DOWN to move your car, and LEFT/RIGHT to select low or high gear.

Swan Driving is meant more as a tech demo, to be useful for others trying to kick-start their WonderSwan development. It features a scrolling background layer, scrolling foreground layer (for the rain), and of course, sprites for the cars. Fortunately for me, the WonderSwan CPU is x86-compatible, so writing the game in assembly language did not require a steep learning curve.

The hardest part of the development was figuring out sprites. It took me a while to realize that sprite palettes start with palette #9. Since Swan Driving uses much fewer than that, I kept trying to make the car sprite work with palette #2. I've included a hardware specification document that I found, in order to help with bumps like this one.


Swan Driving ROM - download this to run it in an emulator (I recommend Oswan)
Source code - Swan Driving source code package
Dev kit with ready-to-compile source code for Swan Driving - get this if you wish to compile the Swan Driving ROM yourself, or if you'd like to develop your own games using this as a starting point!