A bit of barking up the wrong tree in this thread.
There is no simple way to get the flash bit converted into a fourth color bit using the signals the QL outputs in mode 8. However, with a fair bit of circuitry, it is possible to get it out of mode 0/4. The tricky part is getting the dot clock, which is available only internally to the ZX8301 ULA, which has a 15MHz crystal oscillator implemented in it. It internally divides the 15MHz clock by 1.5 to get the 10MHz dot clock for mode 0, or by 3 to get 5MHZ for mode 8. Also, it divides the 15MHz by 2 to get the 7.5MHz CPU clock for the 68008 CPU.
It is possible to use a clock doubler to get 15MHz back from 7.5, then divide by 1.5 and get 10MHz, then use this to re-sample the R and G lines (B is always 1 when R and G are 1 at the sa,e time so it is redundant for this sort of thing), to get two bits for each pixel, then concatenate two pixels into 1 4-bit pixel and generate 16 colors out of that. Most will already scratch their heads at division by 1.5
but it's not that complex a circuit.
There is no real way to do this with a PIC - it is simply far too slow.
The funny thing is, they could have done something like an intensity but by using pulse width modulation. Since the ULA is already capable at outputting RGB at a 10MHz rate, which means 512 pixels per display line, but needs only half of that for 256 pixels per line, it could have used the 4th bit to select a full or a half wide pixel, which would make it appear as if it was half the intensity. I am guessing, however, that this was not done due to dot crawl when a TV would be used. Additional passive components could have been used to fix this, but we all know how Sir Clive was stingy on that sort of thing.
Another funny thing is that they did use an extra TTL chip to generate autovectoring and a few other things (later replaced by the HAL chip), they could just as well have used part of it as a crystal oscillator and saved one pin on the ZX8301 and then... well, you know.
Also, there are other ways a ZX8301 can be manipulated by adding some external logic. For instance, there vould well have been 4 screen areas to chose from, not only 2. And an interlaced 512x512 mode. There is actually more than enough logic in the gate array, but I suspect routing was the problem. No extra pins needed, just a bit of internal logic to hold a control bit and some decoding logic for the CAS1L pin.
Regarding Miracle Systems' Masterpiece:
Initially this was to be a small internal board that would replace the 8301. However it got rather complicated and possibly too big. At the time I was experimenting eith a 'slave' LCD board that was also capable of higher resolutions, and in fat this became the first high res system on a QL. It was based on a 1024x512 bitmap implemented using static RAM, of which 640x480 was used on a monochrome LCD I recycled form a laptop
Stuart Honeyball of Miracle Systems then decided to drop the Masterpiece since I was already working on a full blown graphics board, which in the end became the Aurora.
However, since there was still a market for people who did not want a motherboard replacement but rather an add-in board, Stuart decided to make a smaller board that would add only VGA like resolution in 4 colors, which most cleverly used the existing RAM chips. Unfortunately nothing ever came of this.