16-Bit Windows

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…

Here’s the latest demo:

Woopsi 16 Demo

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.

Woopsi 16 Demo