r269471 make unusable VT console
Adrian Chadd
adrian at freebsd.org
Tue Aug 19 22:36:45 UTC 2014
Hi,
On 19 August 2014 12:40, Jean-Sébastien Pédron <dumbbell at freebsd.org> wrote:
> On 19.08.2014 21:20, Adrian Chadd wrote:
>> Hey, this is cool!
>>
>> So hm, why are you still doing any reading? Don't you now have all the
>> information you need to write out the font and cursor information for
>> each given set of 8 pixels?
>
> I read a lot about VGA in the past days but I'm new to this interface,
> so my reasonning may be wrong. Anyway, here it is:
>
> To write a group of 8 pixels with only 2 colors, I write a byte using
> background color in an offscreen memory, read it back to load it in the
> latches, put the foreground color in the Set/Reset register, then write
> the character/cursor to its final location in video memory. Because the
> background color almost never changes, only one read is made the first
> time we load the background color, and then only writes. This is fast.
>
> If the group of 8 pixels uses 3 or more colors, I can't use Write Mode 3
> alone. I see two possibilities:
> 1. Set Write Mode 0, then for each plane, compute the byte to write
> (1 bit out of 4 of each pixel's color), activate one plane, write
> the byte (repeat for each plane), restore Write Mode 3 and the
> relevant registers.
Yup. That's how I've done it in the past. There's no read required and
computing that stuff on modern CPUs is really cheap.
-a
More information about the freebsd-current
mailing list