Woopsi is a “Window System” for NDS.

Release notes:

I gave in to temptation and re-implemented all of the 8-bit Woopsi functions in 16-bit. Most of the complexities have vanished, and the SuperBitmap now scrolls properly. Any speed loss incurred by doubling the amount of data flying around isn’t noticeable, but I get a slew of benefits including:

* Tidier, simpler code
* No need for palette management – I wasn’t really looking forward to having to write 8-bit palette remapping routines in order to load bitmap data into windows on the screen
* SuperBitmap works properly

I rewrote the 8-bit code that’s been giving me so much trouble in no time at all. The only problem I came across was some weird behaviour from the DMA_Copy() routine, but I soon figured out that it was the bracket problem again. Still not fixed, then…

I’ve broken the naming convention for this release – it’s called “Woopsi 16” as I duplicated the original project for the 16-bit upgrade rather than change the code, just in case I change my mind. If anyone has any good arguments against using 16-bit mode, I’d love to hear them.

http://ant.simianzombie.com/blog/