 * Copyright 1994 Erik Nygren (nygren@mit.edu)
THIS IS NOT FOR RE-DISTRIBUTION, AND IT SHOULD NOT BE PUBLICLY DISCUSSED.
IT IS BETA SOFTWARE FOR MEMBERS OF THE VIPER X-SERVER BETA TESTERS ONLY.
 *
 * This code may be freely incorporated in any program without royalty, as
 * long as the copyright notice stays intact.
 *
 * Additions by Harry Langenbacher (harry@brain.jpl.nasa.gov)
 *
 * ERIK NYGREN AND HARRY LANGENBACHER
 * DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ERIK NYGREN
 * OR HARRY LANGENBACHER BE LIABLE
 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
 * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
 * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

THIS IS FOR W5186 OR W5286 EQUIPPED BOARDS ONLY - THIS INCLUDES VIPERS
WITH BIOS VERSIONS 1 OR 2, BUT NOT BIOS VERSION 3 OR GREATER.

Hello!

This is a quick and dirty hack to get the color vga16 server to work
with XFree86 2.1.  I have included the sources you need for your Link
Kit as well as binaries for the 16 color server.

The mhzfreq clock setter is also included - it was statically linked,
and stripped (with Linux 1.08, gcc 2.5.8, libc.so.4.5.24). Mhzfreq
source provided separately by Harry L. This version of "freq" accepts
its first argument in Mhz which makes it suitable for use with
XFree86. It limits the clock frequency to 50Mhz which is the limit
for the W5186 - setting the frequency higher while the W5186 is
enables could cause damage to the W5186.

Be warned that the server is VERY slow....

Before you run anything, the servers and mhzfreq must be suid root.
To do this, type:

chmod a+s XF86_VGA16 mhzfreq

in this directory before installing them.  Install them wherever you
install your servers.

I've included a sample Xconfig.  Use this as a basis to make
your own.  Do not just copy it or you may damage your monitor!
None of these will work in over 800x600 anyways.

If you want to compile your own server, you need the XFree86 2.0 or
2.1 source tree.  Untar w5186.server.src.tar in /usr/X386/lib/Server
and then run "mkmf" and then "make".

I haven't started to clean this code up.  It is very messy.  After having
lots of cleaning done to it, it may warrant being put into the XFree86
distribution?  It needs a lot of work first though.

I've tried this with XFree86 2.0, libc 4.4.4, gcc 2.5.2, and the Linux 1.0
kernel.

Have fun and good luck!  Remember that this is totally unsupported.
Please do not redistribute or post publically.

--- Erik Nygren (nygren@mit.edu)

I want to thank the following people especially:

Ralph Ganszky (r.ganszky@physik.uni-stuttgart.de)
	Who upgraded the w5186 driver code to XFree86 2.0 and came up
	with the idea of just using the Mono driver as the vga16 driver.
Harry Langenbacher (harry@brain.Jpl.Nasa.Gov)
	Who has been doing a lot of great work lately on preparing
	for the p9000 server.
Everyone else on the p9000/viper team (David, Andy, and everyone else)
The XFree86 people who have been helping us.
And anyone else I forgot to mention.  More later.
