When I started working on this demo it was already in development for three or four years. I started writing a polygon renderer for a 3D engine.1 Later I took over as main coder.
Developing for the WonderSwan was quite difficult. There was little documentation, especially on timing, and emulators were far from accurate. We managed to acquire flash cart, but testing code on real hardware still took minutes.
The CPU in the WonderSwan is a 8086 clone from NEC. Unexpectedly finding a suitable assembler was also difficult. While many x86 assemblers still do support the 8086, i.e. 16-bit real mode, they generally have little support for helping with segmented addressing. We first tried to work around this by using some macros, but when we later needed to move around code and data to free some continuous ROM space it turned into a huge problem. This was part of the reason we didn’t manage to release in 2011. I solved this by patching yasm to have better support for segmented addressing.