[OT] Phoenix Developing DRM-Equipped BIOS

Steve Gehlbach steve at nexpath.com
Fri Sep 5 11:05:01 CEST 2003


SONE Takeshi wrote:

> To clarify, what I've done is merely enabling VGA by executing the
> mfr's proprietary VGABIOS.
> Perhaps Steve is talking about enabling the device without
> such binary-only code, but by directly programming the
> (poorly documented) registers with outb()'s, etc.
> Of cource I too would like to have such an open sourced code.
> 

Yes, I am talking about direct register programming.  The BIOS approach 
is very useful, but I want to do it directly.  Just a personal thing, 
like Linus' comment in setup.S, "we don't need no steenking BIOS anyway".

I did see one VGA legacy register in the vt8601 datasheet, copied below, 
that looks a little funny.  I thought it defaulted to a useable default 
state, but maybe not.  But this "read 3C6 four times to enable" is the 
kind of thing where if you do not have the datasheet you are up a creek.

-Steve


Port 3C6 – VGA RAMDAC Command........................... RW
This register is a non-standard VGA register (“extension
register”) located at the same port address as the VGA
RAMDAC Pixel Mask register. In order to maintain
compatibility with standard VGA operations, access to this
register is restricted: access is enabled by performing four
successive accesses to the Pixel Mask register at 3C6 (i.e.,
read 3C6 four times).

7-4 Color Mode Select
0000 Pseudo-Color Mode ................................default
0001 Hi-Color Mode (15-bit direct interface)
0010 Muxed Pseudo-Color Mode (16-bit pixel bus)
0011 XGA Color Mode (16-bit direct interface)
01xx -reserved-
10xx -reserved-
1100 -reserved-
1101 True Color Mode (24-bit direct interface)
111x -reserved-
3 Reserved ......................................... always reads 0
2 DAC Disable
0 DAC On (if SR20[0] = 1) .......................default
1 DAC Off
1 Reserved ......................................... always reads 0
0 RAMDAC Enable
0 Disable (Bypass) RAMDAC ..................default
1 Enable RAMDAC




More information about the coreboot mailing list