<!doctype linuxdoc system>
<article>

<!-- TitleS information -->

<title>README.VIDEO7
<author>Craig Struble
<date>17 May 1994

<!-- Table of contents -->
<toc>

<!-- Begin the document -->

<sect>The Driver:<p>
The Video7 driver has only been tested on a Headland Technologies HT216-32
chip, but should work on other Video 7/Headland Technologies chips as
well.<p>

Currently this implementation of the video7 driver only supports single bank
mode, which can cause performance degradation, and makes no attempt to
distinguish between the different video7 chips.<p>

It also does not probe for memory, so in your <tt>XF86Config</tt> file, 
make sure that you use the following line:<p>
<verb>
	Videoram XXX
</verb>
Where XXX is the amount of RAM in your card. Most of them have at least
512k, so this is a good value to start with.<p>
Also, the clock probing function of XFree86 doesn't seem to correctly
get the clocks. The documentation I used (vgadoc3) suggests using the
following values for the <tt>Clocks line</tt> in your 
<tt>XF86Config</tt> file:
<verb>
	Clocks        25.175 28.322 30.000 32.514 34.000 36.000 38.000 40.000
</verb>
For 800x600 mode, use a dot clock of 38 instead of 36 or 40 as suggested in
most of the sample <tt>XF86Config</tt> files and <tt>modeDB.txt.</tt> 
This seems to be what is
used in the BIOS mode (0x69) which is the 800x600 in 256 colors.

<sect>Known bugs and What's been tested:<p>
<sect1>Known bugs:<p>
<enum>
<item>No video ram probing. Only known way to get this info is through
an INT 10 call, but you can't do this in a user process.<p>
<item>Clock probing. I'm not sure the docs in vgadoc3 are correct.<p>
<item>Random lockups with the SVGA server<p>
</enum>
<sect1>What's been tested:<p>
<enum>
<item>An HT216-32 chip.<p>
<item>800x600 mode and 640x480 mode<p>
<item>Mode switching and switching to text mode through <tt>CTRL-ALT-F1</tt><p>
<item>Only been tested on Linux.<p>
</enum>

<sect>Who to contact:<p>
	<bf>Craig Struble</bf> (<em/cstruble@acm.vt.edu/) Video 7 driver<p>
<sect>Acknowledgments<p>
<sect1>Thanks to:<p>
<itemize>
<item><bf/Cara Cocking/ for loving me and supporting me. Without her I'd
          be a bowl of jello.<p>
<item><bf/XFree86 team/ for the great stub code that allowed me to get this
	  going.<p>
<item><bf/Finn Thoegersen/ for compiling vgadoc3. Without this I would not
	  have had a clue.<p>
<item><bf/Harm Hanemaayer/ for the vga.c program in svgalib. Without this I
	  would not have had the breakthroughs I needed to get the thing
          up and running.<p>
</itemize>
<sect1>Other things I've already done:<p>
<quote>
	For Linux, I have a small patch to get the extended text modes to
	work on the Video 7 card.<p>
</quote>

<sect1>Things to do:<p>
<itemize>
<item>	Try dual banking mode.<p>
<item>	Write an svgalib driver.<p>
<item>	Go back to graduate school. (I'm a glutton for punishment.)<p>
</itemize>

<sect1>Disclaimer:<p>
<quote>
	CRAIG STRUBLE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
	INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
	NO EVENT SHALL CRAIG STRUBLE 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.<p>
</quote>

<verb>
$XConsortium: Video7.sgml,v 1.1 95/01/06 20:29:55 kaleb Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Video7.sgml,v 3.2 1995/01/28 16:02:44 dawes Exp $
</verb>
</article>
