View Single Post
Old 03-05-07, 01:04 AM   #4
Registered User
Join Date: Jan 2007
Posts: 4
Default Re: Color problem (NV 420 Go)


I found out the sequence to switch the second screen (external video connector) on or off:

Read port 0x3CC (inb instructon). If bit 0 is set use ports 0x3D4/0x3D5, otherwise use ports 0x3B4/0x3B5 (this is true for every graphics card of every manufacturer).

Now the following sequence (here: 3D4/3D5) is done:
Write 0x1F to port 0x3D4.
Write 0x57 to port 0x3D5 (write 0x57 to register 0x1F).
(Maybe a short delay is required here.)
Write 0x1A to port 0x3D4.
Read port 0x3D5 (read register 0x1A).
To enable the external video output clear bits 6&7 (and value with 0x3F).
To disable the external video output set bit 7 (or value with 0x80).
Write the new value back to port 0x3D5 (update register 0x1A).

(Sometimes the sequence does not work so you should do it multiple times.)

I managed to write an application that works under OpenSolaris using the "vesa" video driver that enables or disables the external video port.

mdjr is offline   Reply With Quote