QL MODE 8 Flash Bit

Nagging hardware related question? Post here!
User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

QL MODE 8 Flash Bit

Post by Peter »

Hi,

today I noticed that my MODE 8 Flash Bit implementation in the Q68 was never completed. It is 11 years ago that I designed the video controller, and now I don't even remember how exactly the QL hardware used that bit at all. Especially, I don't know how the background colour for the flashing area is determined!

Could anyone enlighten me? Quick reply would be nice, release date nearing quickly...

All the best, Peter


User avatar
M68008
Trump Card
Posts: 223
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: QL MODE 8 Flash Bit

Post by M68008 »

Flash has an off state - when the flash bit is ignored - alternating with an on state.
In the on state, the flash bit acts as a toggle: when the flash bit is encountered, that pixel color is also used for the following pixels, until either there is another flash bit set or the end of the scan line.
A flashing character has a vertical line of background pixels to the left and right where the background color is marked with the flash bit.


Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: QL MODE 8 Flash Bit

Post by Nasta »

It is doubtful anyone would even notice the 'problem' :)
I did not bother with it on Aurora... it would have been much better if it was a 4th bit for 16 colors, but that's unfortunately water long gone under the bridge.
Also an addendum to the above descrioption:
There is a frame counter (6 bit), flash function is only active 32 frames out of 64 (hence flash) otherwise it would act more as a 'hold color' bit. Again, they could have implemented a 'hold and modify' scheme with it but... oh, well...


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: QL MODE 8 Flash Bit

Post by Peter »

I can not understand why David Karlin made this decision, adding hardware complexity for no benefit and bringing QL colour depth below the Spectrum.

I have just completed it on the Q68 now (not trivial on a machine that quadruples and tripels pixels).

Only to find out that SMSQ/E does not support FLASH. It works under QDOS Classic/Minerva though.

Remark about the ambigous "until either there is another flash bit set". "Until" means the after that pixel, not at that pixel.


User avatar
janbredenbeek
Super Gold Card
Posts: 629
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: QL MODE 8 Flash Bit

Post by janbredenbeek »

Peter wrote:I can not understand why David Karlin made this decision, adding hardware complexity for no benefit and bringing QL colour depth below the Spectrum.
In an interview with Urs König, David gives the answer himself:
Q: Why has a non-common FLASH option been implemented and not a more desirable and usable 16 colour option (BRIGHT of the 8 base colours or real 16 colours)? Was this because of Teletext/BBS/Videotex/MicroNet/Prestel or the like had flashing characters?

DK: I hardly remember this. The ZX8301 is purely digital, so to get multiple colour levels, we would have needed an extra output which would have fed a primitive DAC. This would have needed another pin, and we didn't have one.
(The interview can be found here)

Jan.


martyn_hill
Aurora
Posts: 909
Joined: Sat Oct 25, 2014 9:53 am

Re: QL MODE 8 Flash Bit

Post by martyn_hill »

Of course, by the time Issue6 motherboards came along, the PCEN output on the 8301 became defunct (the HAL took-over that function) and with another output pin still available on the HAL, ROMOE on the 8301 could also have been been freed-up (the HAL already monitors A16 & A17).

Retrospection is easy...

I wonder how many apps ever made use of FLASH...


User avatar
janbredenbeek
Super Gold Card
Posts: 629
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: QL MODE 8 Flash Bit

Post by janbredenbeek »

martyn_hill wrote: I wonder how many apps ever made use of FLASH...
I've done it in a Videotex/Viewdata/Prestel terminal program. But it was hard to implement as the standard supports block graphic characters which need to be fully contiguous, which the standard QL driver cannot produce (it always prints characters with a blank pixel in between). Videotex uses serial attributes which normally print as a space so you can use that as background colour, but it also has a 'hold graphics' mode which repeats the last graphic character at the position where the attributes change. So unlike the standard driver which turns flash on and off for each character, I needed to remember the flash state while printing a line of text and that made the logic a lot more complex. But the result was eventually a nearly perfect emulation. It's a pity that, to my best knowledge, there was never a Teletext interface for the QL...

Jan.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: QL MODE 8 Flash Bit

Post by Peter »

I've heard that "missing pin" story before, and for me it's not an explanation, even not back then. Just like the IPC decision. We are all human and we all make mistakes under pressure. But technically, I still don't understand it.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: QL MODE 8 Flash Bit

Post by Peter »

janbredenbeek wrote:I've done it in a Videotex/Viewdata/Prestel terminal program. [...]
That explains how well you knew about the Flash bit details! Thanks for explaining it on ql-users! Pity that your program will hardly be of use on the Q68...


User avatar
janbredenbeek
Super Gold Card
Posts: 629
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: QL MODE 8 Flash Bit

Post by janbredenbeek »

Peter wrote:
janbredenbeek wrote:I've done it in a Videotex/Viewdata/Prestel terminal program. [...]
That explains how well you knew about the Flash bit details! Thanks for explaining it on ql-users! Pity that your program will hardly be of use on the Q68...
Now when I think of it... Teletext is still being used here in NL, it's even easy to extract the data from a DVB-C or IPTV stream so we do have a potential Q68 application here :D

Jan.


Post Reply