                         THIS IS ALPHA SOFTWARE !
                         ========================

     NOTHING FOR NEWBIES / PEOPLE SCARED OF FRYING THEIR HARDWARE !

========================================================================
AS THE PROGRAM DIRECTLY PROGRAMS VGA-HARDWARE IT MIGHT EVEN DESTROY YOUR
MONITOR OR VGA-CARD - this is not likely ,  but I do not want to be held
responsible for things like this ... !
========================================================================

For all the others :

Do a make config and a nice menu-driven script will guide you through
the configuration process.
It will create a human-readable (and editable, if the script causes
problems - it needs the dialog program from slackware ...) file in
drivers/.config that holds all the necessary data.

There is still more configuration left, mostly regarding monitors.
If you use the multisync-driver you will probably need to make up a new
header-file in the multisync directory and symlink multisync_config.h
to it.

If you use the timelist driver you will have to go to the timelist/util
subdirectory and make the loadtiming utility. You will have to run this
one after each insmod of the driver.

If did everything right,"make" will create the KLM, build the library 
(only a .o - .a will come when we need it ...) and some demo-programs.

The module can be inserted using the "./ins" script and removed with
"./rem".

Please note that after every change in the driver a "./rem;./ins" is needed
for the changes to take effect.

Please note further,that the driver assumes to be started from 80x25
console.The ins script therefore automatically uses tm after each insmod to
set the driver to a defined state to fall back to. You might therfore want 
to edit the ins-script.

The driver will install a graphics character device which you must create
via mknod /dev/graphics c 8 171. The 171 is a magic number used by the
kernel patch - please keep this in mind,if you want to change.

There is still a BUG in the driver/kernel interaction (fix will definitely
require changing the kernel or using a completely other method) that MUST 
be fixed using the patch below.
Otherwise the kernel will LOOSE MEMORY (lots of !) !

Installing the patch is no longer optional - performance goes first.
I do NOT know for sure if this can have side-effects !!!! 
I inserted a magic number that should be impossible to match for other
things, but ...
If you encounter any strange behaviour please insert a small printk into the
new if statement and try to find out which program/device (despite GGI) causes 
the hack to activate.

--- memory.cold	Sun Apr 23 00:11:48 1995
+++ memory.c	Thu May 25 02:01:23 1995
@@ -1022,6 +1022,11 @@
 	pte_t entry;
 	unsigned long page;
 
+	/* Inserted by Andreas Beck - really ugly hack for GGI */
+	if (vma->vm_ops && vma->vm_ops->nopage && vma->vm_inode->i_rdev == 0x08ab )
+	{ vma->vm_ops->nopage(vma, address, page,
+		write_access && !(vma->vm_flags & VM_SHARED));return; }
+
 	page_table = get_empty_pgtable(vma->vm_task,address);
 	if (!page_table)
 		return;

------------------------------------------------------------

TNX for your brave alpha-testing !

Andy
