I've come up with a new way to update the screen in low-bpp modes (2-,4- and 8-colour) which removes the overhead of copying and converting the screen image.

The new code is a lot slicker, with no discernible speed difference between emulated and native screen modes when using the desktop, so you can now use fewer than 256 colours in large screen modes which is very good news for Sibelius fans.

This is still first prototype code too. I can further optimise the code
and introduce hardware acceleration in emulated modes which previously had to be disabled.

How does it work? Well, Pro write-protects the emulated screen area so that it can catch all screen writes. Then it performs the write as requested, and updates the physical 8bpp display at the same time.

The end result is that screen read access is actually faster than for native modes, and the screen's fully cacheable(!), whilst write access is slower but not by much. And the background CPU load of constantly converting & updating the display is entirely eliminated!