[Commit] kdrive/vesa Imakefile, 1.3, 1.4 Xvesa.man, 1.6, 1.7 vbe.c, 1.11, 1.12 vbe.h, 1.7, 1.8 vesa.c, 1.21, 1.22 vesa.h, 1.14, 1.15 vesainit.c, 1.8, 1.9 vga.c, 1.2, 1.3 vga.h, 1.2, 1.3 vm86.c, 1.3, 1.4 vm86.h, 1.1, 1.2

Keith Packard commit at keithp.com
Mon Jul 7 13:13:06 PDT 2003


Committed by: keithp

Update of /local/src/CVS/kdrive/vesa
In directory home.keithp.com:/tmp/cvs-serv15771/vesa

Modified Files:
	Imakefile Xvesa.man vbe.c vbe.h vesa.c vesa.h vesainit.c vga.c 
	vga.h vm86.c vm86.h 
Log Message:
Update RCS tags, fix keyboard hang on VT switch, fix scroll wheel mice, add -rawcoord option to not transform mice on rotate, fix mtrr to use power-of-two size, add a few vesa options

Index: Imakefile
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/Imakefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Imakefile	20 Oct 2000 00:19:50 -0000	1.3
+++ Imakefile	7 Jul 2003 19:13:02 -0000	1.4
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/kdrive/vesa/Imakefile,v 1.2 2000/09/03 05:11:22 keithp Exp $
+XCOMM $RCSId: xc/programs/Xserver/hw/kdrive/vesa/Imakefile,v 1.2 2000/09/03 05:11:22 keithp Exp $
 KDRIVE=..
 #include "../Kdrive.tmpl"
 

Index: Xvesa.man
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/Xvesa.man,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Xvesa.man	27 Jan 2001 18:20:40 -0000	1.6
+++ Xvesa.man	7 Jul 2003 19:13:02 -0000	1.7
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man,v 1.5 2001/01/24 00:06:10 dawes Exp $
+.\" $RCSId: xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man,v 1.5 2001/01/24 00:06:10 dawes Exp $
 .TH Xvesa 1 __vendorversion__
 .SH NAME
 Xvesa \- VESA Bios Extensions tiny X server

Index: vbe.c
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vbe.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- vbe.c	8 Oct 2002 21:27:18 -0000	1.11
+++ vbe.c	7 Jul 2003 19:13:02 -0000	1.12
@@ -19,7 +19,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vbe.c,v 1.9 2001/05/29 04:54:12 keithp Exp $ */
+/* $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vbe.c,v 1.9 2001/05/29 04:54:12 keithp Exp $ */
 
 #include "vesa.h"
 

Index: vbe.h
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vbe.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- vbe.h	5 Sep 2001 07:12:42 -0000	1.7
+++ vbe.h	7 Jul 2003 19:13:03 -0000	1.8
@@ -19,7 +19,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vbe.h,v 1.6 2001/05/29 04:54:12 keithp Exp $ */
+/* $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vbe.h,v 1.6 2001/05/29 04:54:12 keithp Exp $ */
 
 #ifndef _VBE_H
 #define _VBE_H

Index: vesa.c
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vesa.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- vesa.c	14 Oct 2002 18:01:42 -0000	1.21
+++ vesa.c	7 Jul 2003 19:13:03 -0000	1.22
@@ -19,7 +19,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesa.c,v 1.19 2002/09/29 23:39:47 keithp Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesa.c,v 1.21 2002/10/14 18:01:42 keithp Exp $ */
 
 #include "vesa.h"
 #ifdef RANDR
@@ -34,6 +34,7 @@
 Bool vesa_restore = FALSE;
 Bool vesa_verbose = FALSE;
 Bool vesa_force_text = FALSE;
+Bool vesa_restore_font = TRUE;
 
 #define VesaPriv(scr)	((VesaScreenPrivPtr) (scr)->driver)
 
@@ -253,6 +254,58 @@
     }
 }
 
+void
+vesaTestMode (void)
+{
+    Vm86InfoPtr	vi;
+    VesaModePtr	modes;
+    VesaModePtr	mode;
+    VbeInfoPtr	vbeInfo;
+    int		nmode;
+    int		n;
+
+    vi = Vm86Setup ();
+    if (!vi)
+    {
+	ErrorF ("Can't setup vm86\n");
+	return;
+    }
+    modes = vesaGetModes (vi, &nmode);
+    if (!modes)
+    {
+	ErrorF ("No modes available\n");
+	return;
+    }
+    VbeReportInfo (vi);
+    vbeInfo = VbeInit (vi);
+    for (n = 0; n < nmode; n++)
+    {
+	if (modes[n].mode == vesa_video_mode)
+	    break;
+    }
+    if (n == nmode)
+    {
+	ErrorF ("no mode specified\n");
+	return;
+    }
+    mode = &modes[n];
+    if (mode->vbe)
+    {
+	ErrorF ("Enable VBE mode 0x%x\n", mode->mode);
+	VbeSetMode(vi, vbeInfo, mode->mode, FALSE, FALSE);
+    }
+    else
+    {
+	ErrorF ("Enable BIOS mode 0x%x\n", mode->mode);
+	VgaSetMode (vi, mode->mode);
+    }
+    sleep (2);
+    ErrorF ("Restore BIOS mode 0x%x\n", 3);
+    VgaSetMode (vi, 3);
+    xfree (modes);
+    Vm86Cleanup (vi);
+}
+
 Bool
 vesaCardInit(KdCardInfo *card)
 {
@@ -1404,28 +1457,35 @@
 						screen->fb[0].frameBuffer);
 	    }
 	}
-	memcpy (priv->text, pscr->fb, VESA_TEXT_SAVE);
+	if (vesa_restore_font)
+	    memcpy (priv->text, pscr->fb, VESA_TEXT_SAVE);
 	break;
     case VESA_WINDOWED:
-	for (i = 0; i < VESA_TEXT_SAVE;) 
+	if (vesa_restore_font)
 	{
-	    p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_READ, &size);
-            if(!p) {
-                ErrorF("Couldn't set window for saving VGA font\n");
-                break;
-            }
-            if(i + size > VESA_TEXT_SAVE)
-                size = VESA_TEXT_SAVE - i;
-            memcpy(((char*)priv->text) + i, p, size);
-            i += size;
-        }
+	    for (i = 0; i < VESA_TEXT_SAVE;) 
+	    {
+		p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_READ, &size);
+		if(!p) {
+		    ErrorF("Couldn't set window for saving VGA font\n");
+		    break;
+		}
+		if(i + size > VESA_TEXT_SAVE)
+		    size = VESA_TEXT_SAVE - i;
+		memcpy(((char*)priv->text) + i, p, size);
+		i += size;
+	    }
+	}
 	break;
     case VESA_PLANAR:
-	for (i = 0; i < 4; i++)
+	if (vesa_restore_font)
 	{
-	    p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_READ, &size);
-	    memcpy (((char *)priv->text) + i * (VESA_TEXT_SAVE/4), p,
-		    (VESA_TEXT_SAVE/4));
+	    for (i = 0; i < 4; i++)
+	    {
+		p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_READ, &size);
+		memcpy (((char *)priv->text) + i * (VESA_TEXT_SAVE/4), p,
+			(VESA_TEXT_SAVE/4));
+	    }
 	}
 	break;
     }
@@ -1514,33 +1574,35 @@
     CARD32		size;
     char		*p;
 
-    switch (pscr->mapping) {
-    case VESA_LINEAR:
-    case VESA_MONO:
-        memcpy(pscr->fb, priv->text, VESA_TEXT_SAVE);
-	break;
-    case VESA_WINDOWED:
-        while(i < VESA_TEXT_SAVE) {
-	    p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_WRITE, &size);
-            if(!p) {
-                ErrorF("Couldn't set window for restoring VGA font\n");
-                break;
-            }
-            if(i + size > VESA_TEXT_SAVE)
-                size = VESA_TEXT_SAVE - i;
-            memcpy(p, ((char*)priv->text) + i, size);
-            i += size;
-        }
-	break;
-    case VESA_PLANAR:
-	for (i = 0; i < 4; i++)
-	{
-	    p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_WRITE, &size);
-	    memcpy (p,
-		    ((char *)priv->text) + i * (VESA_TEXT_SAVE/4),
-		    (VESA_TEXT_SAVE/4));
+    if (vesa_restore_font) {
+	switch (pscr->mapping) {
+	case VESA_LINEAR:
+	case VESA_MONO:
+	    memcpy(pscr->fb, priv->text, VESA_TEXT_SAVE);
+	    break;
+	case VESA_WINDOWED:
+	    while(i < VESA_TEXT_SAVE) {
+		p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_WRITE, &size);
+		if(!p) {
+		    ErrorF("Couldn't set window for restoring VGA font\n");
+		    break;
+		}
+		if(i + size > VESA_TEXT_SAVE)
+		    size = VESA_TEXT_SAVE - i;
+		memcpy(p, ((char*)priv->text) + i, size);
+		i += size;
+	    }
+	    break;
+	case VESA_PLANAR:
+	    for (i = 0; i < 4; i++)
+	    {
+		p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_WRITE, &size);
+		memcpy (p,
+			((char *)priv->text) + i * (VESA_TEXT_SAVE/4),
+			(VESA_TEXT_SAVE/4));
+	    }
+	    break;
 	}
-	break;
     }
     vesaUnmapFramebuffer (screen);
 }
@@ -1771,6 +1833,9 @@
     } else if(!strcmp(argv[i], "-listmodes")) {
         vesaListModes();
         exit(0);
+    } else if(!strcmp(argv[i], "-vesatest")) {
+	vesaTestMode();
+	exit (0);
     } else if(!strcmp(argv[i], "-swaprgb")) {
 	vesa_swap_rgb = TRUE;
 	return 1;
@@ -1785,6 +1850,9 @@
 	return 1;
     } else if(!strcmp(argv[i], "-force-text")) {
 	vesa_force_text = TRUE;
+	return 1;
+    } else if(!strcmp(argv[i], "-trash-font")) {
+	vesa_restore_font = FALSE;
 	return 1;
     }
     

Index: vesa.h
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vesa.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- vesa.h	3 Oct 2002 22:08:53 -0000	1.14
+++ vesa.h	7 Jul 2003 19:13:03 -0000	1.15
@@ -19,7 +19,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesa.h,v 1.13 2002/09/29 23:39:47 keithp Exp $ */
+/* $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vesa.h,v 1.13 2002/09/29 23:39:47 keithp Exp $ */
 
 #ifndef _VESA_H_
 #define _VESA_H_

Index: vesainit.c
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vesainit.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- vesainit.c	12 Oct 2001 06:33:12 -0000	1.8
+++ vesainit.c	7 Jul 2003 19:13:03 -0000	1.9
@@ -19,7 +19,7 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
-/* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesainit.c,v 1.7 2001/09/05 07:12:43 keithp Exp $ */
+/* $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vesainit.c,v 1.7 2001/09/05 07:12:43 keithp Exp $ */
 
 #include "vesa.h"
 

Index: vga.c
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vga.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vga.c	5 Sep 2001 07:12:43 -0000	1.2
+++ vga.c	7 Jul 2003 19:13:03 -0000	1.3
@@ -1,7 +1,7 @@
 /*
- * $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vga.c,v 1.1 2000/10/20 00:19:51 keithp Exp $
+ * $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vga.c,v 1.1 2000/10/20 00:19:51 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: vga.h
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vga.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vga.h	5 Sep 2001 07:12:43 -0000	1.2
+++ vga.h	7 Jul 2003 19:13:03 -0000	1.3
@@ -1,7 +1,7 @@
 /*
- * $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vga.h,v 1.1 2000/10/20 00:19:51 keithp Exp $
+ * $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vga.h,v 1.1 2000/10/20 00:19:51 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: vm86.c
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vm86.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- vm86.c	4 Jun 2002 22:19:58 -0000	1.3
+++ vm86.c	7 Jul 2003 19:13:03 -0000	1.4
@@ -1,7 +1,7 @@
 /*
- * $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vm86.c,v 1.2 2002/02/19 00:18:05 keithp Exp $
+ * $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vm86.c,v 1.2 2002/02/19 00:18:05 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: vm86.h
===================================================================
RCS file: /local/src/CVS/kdrive/vesa/vm86.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- vm86.h	20 Oct 2000 00:19:51 -0000	1.1
+++ vm86.h	7 Jul 2003 19:13:03 -0000	1.2
@@ -1,7 +1,7 @@
 /*
- * $XFree86$
+ * $RCSId: $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that




More information about the Commit mailing list