Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Dec 1995 11:40:58 +0100 (MET)
From:      sos@freebsd.org
To:        msmith@atrad.adelaide.edu.au (Michael Smith)
Cc:        jkh@time.cdrom.com, msmith@atrad.adelaide.edu.au, jdli@linux.csie.nctu.edu.tw, freebsd-hackers@freebsd.org
Subject:   Re: syscons driver
Message-ID:  <199512281040.LAA11991@ra.dkuug.dk>
In-Reply-To: <199512280441.PAA01069@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Dec 28, 95 03:11:03 pm

next in thread | previous in thread | raw e-mail | index | archive | help
In reply to Michael Smith who wrote:
> 
> Jordan K. Hubbard stands accused of saying:
> 
> > From the achievement standpoint, it's not been that bad.  The major
> > criticism of it seems rather to be that it's insufficiently general -
> > you need a low level shim written for each type of gfx card chipset.
> 
> Agreed, although I suspect that you can tell it to assume a 'generic'
> VGA interface.

This is exactly my standpoint, syscons is able to set all "generic"
video modes, and I'm not, repeat NOT, going to support anything else
it would be a support nightmare of huge magnitude...

> > Given the speed at which new video cards are appearing on the market,
> > I can easily see serious disadvanges to this and would much prefer an
> > API that let me talk to *any* "Generic VGA" card at 640x480
> > resolution.  I'm not sure if that's possible with syscons, but it'd
> > certainly be the goal to shoot for.  Anything else is just signing
> > up for a long-term pain in the butt.
> 
> You certainly can kick syscons into any of the majorish video modes :
> (from <machine/console.h>)
> 
> #define M_VGA11         26      /* vga 640x480 2 colors */
> #define M_BG640x480     26
> #define M_VGA12         27      /* vga 640x480 16 colors */
> #define M_CG640x480     27
> #define M_VGA13         28      /* vga 640x200 256 colors */
> #define M_VGA_CG320     28
> ...
> #define SW_VGA11        _IO('S', M_VGA11)
> #define SW_BG640x480    _IO('S', M_VGA11)
> #define SW_VGA12        _IO('S', M_VGA12)
> 
> I would presume that there's some way of mapping the console video memory
> into the process's address space, or alternatively it would be neccessary
> to implement an ioctl to copy regions back and forth (yucky).

There is, you just mmap 0xa0000 and 64Kb forward :)

There is much more to come this way, I'm bashing at it right now :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Soren Schmidt             (sos@FreeBSD.org)             FreeBSD Core Team
               So much code to hack -- so little time.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512281040.LAA11991>